【问题标题】:Update cell of APEX_COLLECTION in interactive grid更新交互式网格中 APEX_COLLECTION 的单元格
【发布时间】:2017-08-08 08:01:01
【问题描述】:

我有一个交互式网格,在 wwv_flow_qb_saved_query 表和 apex_collection 上具有完全连接,如下所示:

Select
qbsq.ID,
qbsq.TITLE, 
qbsq.QB_SQL, 
qbsq.DESCRIPTION,
ac.collection_name,
ac.seq_id,
ac.C001 as new_TITLE, 
ac.CLOB001 as new_QB_SQL, 
ac.C002 as new_DESCRIPTION
FROM APEX_050100.WWV_FLOW_QB_SAVED_QUERY qbsq
full join apex_collections ac
on qbsq.TITLE = ac.C001

结果如下所示:

现在我需要让用户可以更改 apex_collection 的标题,因此“导入的查询”列组中的标题。如果标题已更新并且与现有查询的标题不同,则会有一个新的网格条目。

我尝试在“保存交互式网格数据”过程中做到这一点 => 设置 => 目标类型 => pl/sql 代码与

declare
collection_name varchar2(255);
seq_id number;
new_title varchar2(4000);

begin
    collection_name := :COLLECTION_NAME;
    seq_id := :SEQ_ID;
    new_title := :NEW_TITLE;

    case v('APEX$ROW_STATUS')
    when 'U' then
    APEX_COLLECTION.UPDATE_MEMBER_ATTRIBUTE (
        p_collection_name => collection_name,
        p_seq => seq_id,
        p_attr_number => 1,
        p_attr_value => new_title);
   end case;
end;

但是有些东西不起作用,我无法更改标题。我错过了什么吗?请有人帮我找出问题所在。我找不到任何其他有用的帖子..

谢谢

【问题讨论】:

  • 看起来您的代码应该可以工作(我会使用 :APEX$ROW_STATUS 而不是 v() 函数,但这无关紧要)。难道是当页面重新加载时,您有一个重新填充集合并覆盖更改的进程?
  • 在第一个区域的页面顶部,我正在将文件上传到集合中。提交后,新集合显示在第二个区域,即交互式网格,如上所示。当我在列组“导入的查询”中双击此列 TITLE 时,无法更改任何内容,我无法输入任何内容。交互式网格的颜色变成灰色,就像页面背景一样。
  • 所以你的问题是用户根本无法进行任何更改,而不是他们可以进行更改但没有保存?如果是这种情况,Title 列的 Type、Query Only、Read Only 条件的属性设置是什么?
  • 没错,类型 = 文本区域,仅查询 = 否,只读条件 = 无条件。谢谢
  • 网格允许编辑,允许更新?顺便说一句,如果用户甚至无法更改屏幕上的值,那么您发布的代码与问题无关。

标签: oracle-apex oracle-apex-5.1


【解决方案1】:

感谢 Tony Andrews,我只需在区域中更改解决方案,将“Allowed Row Operations Column”属性设置为“null”。

【讨论】:

    【解决方案2】:

    你为什么使用收藏? IG可以修改数据,改变分页,回到之前的分页,你的改变都会在那里。

    【讨论】:

    • 因为apex_collection中的文件正在上传,在插入wwv_flow_qb_saved_query表之前需要改名。这就是规范!
    • 这是评论,不是答案!需要在复杂流程中使用集合的原因有很多。
    猜你喜欢
    • 1970-01-01
    • 2018-08-09
    • 2017-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多