如何处理 Oracle APEX 报告中的复选框项目?

Posted

技术标签:

【中文标题】如何处理 Oracle APEX 报告中的复选框项目?【英文标题】:How can I process checkbox items from an Oracle APEX report? 【发布时间】:2012-08-21 00:23:10 【问题描述】:

我不是经验丰富的 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 结尾:

欢迎任何想法和/或建议,即使是解决我的问题的不同方法(我只需要坚持使用复选框,因为我需要它)也被接受。

【问题讨论】:

您的网络服务器日志中显示的 plsql 错误是什么? 你提到了一个爱情。这个 LOV 是在 ticket_id 字段上定义的吗?也尝试使用调试运行该页面,看看您是否可以在那里发现错误并回复我们。 【参考方案1】:

追查原因的一些提示:

    点击提交按钮后检查分支。你是跳转到同一个页面还是不同的页面? 如果分支没问题,那么作为测试的一部分,在进程中注释run-some-procedure-function并查看,只是为了确保该函数不是导致错误的原因。

【讨论】:

谢谢,我仔细查看了处理部分,发现我没有正确引用选中的值。

以上是关于如何处理 Oracle APEX 报告中的复选框项目?的主要内容,如果未能解决你的问题,请参考以下文章

Oracle Apex - 动态检查不在报告中的复选框项目

如何处理 VBA 中的复选框值?

如何处理数据表中的复选框单击事件

如何处理 Android 运行时权限中的“不再询问”复选框?

如何处理 MouseClick 事件中的 CheckBox?

如何处理 Oracle 中的 1 级深度嵌套限制?