【发布时间】: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