我不是经验丰富的 APEX 开发人员,因此出现了这个问题:我有一个包含几列的报告,第一个显示一个复选框,其值是行记录的列 ID,我需要为每个列运行 pl/sql 函数行检查,但我没有运气...
相关列的 SQL 看起来像这样(为简单起见进行了修剪):
SELECT
apex_item.checkbox(1, p.ticket_id,'UNCHECKED') "Add",
p.ticket_id,
UPPER(SUBSTR(p.status_code, 1, 3)) status,
p.last_update
FROM problems p
... etc.
第一列设置为呈现为“简单复选框”,并为其值参数列表获取#TICKET_ID#。我有一个提交按钮设置为只提交页面,并且我创建了一个运行“提交时 - 计算和验证之后”的进程,其执行的代码是以下 PL/SQL:
BEGIN
FOR i in 1..APEX_APPLICATION.G_F01.COUNT LOOP
BEGIN
IF APEX_APPLICATION.G_F01(i) IS NOT NULL THEN
run-some-procedure-function(
parameter_one => APEX_APPLICATION.G_F01(i),
parameter_two => :SOME_VALUES_ID,
parameter_three => :F_AU_ID
);
END IF;
EXCEPTION WHEN DUP_VAL_ON_INDEX THEN NULL;
END;
END LOOP;
END;
当我运行这个应用程序时,标记一些复选框,然后点击提交按钮,我最终会收到一条错误消息和一个奇怪的 URL 结尾:
欢迎任何想法和/或建议,甚至接受我的问题的不同方法(我只需要坚持复选框,因为我需要它)。