如何在交互式网格中将 APEX$ROW_SELECTOR 与动态操作一起使用

Posted

技术标签:

【中文标题】如何在交互式网格中将 APEX$ROW_SELECTOR 与动态操作一起使用【英文标题】:How to use APEX$ROW_SELECTOR with Dynamic Actions within an Interactive Grid 【发布时间】:2019-05-23 14:05:42 【问题描述】:

环境:Oracle APEX 5.1.2 / Oracle 12c

我目前正在使用将 APEX$ROW_SELECTOR 设置为单个记录选择(即单选组)的交互式网格 (IG)。我正在尝试做的是使用此 APEX$ROW_SELECTOR 的动态操作“单击”事件,但不幸的是,当我单击无线电组选择器时它没有触发。

根据上述情况,我有以下问题:

    如何在行选择上添加动态操作 (APEX$ROW_SELECTOR) 以在单击时触发?

    点击时,如何设置会话状态的列值在经典报表中使用?

假设动态操作作为 IG 的一部分是不可能的,当用户使用我的 IG 选择一行时,我还能如何执行类似的操作?

【问题讨论】:

你说的是广播组。但到目前为止,我看到的所有使用 APEX$ROW_SELECTOR 的示例都是基于表格行复选框,它返回 X 或 NULL。广播群会触发吗? 我想我在这里想要实现的是能够通过动态操作捕获每个 IG 行上的点击事件,因为我想设置会话状态,然后将此值传递给经典的报告电话。 我无法验证这是否有效,但看起来这是一种从点击的行中检索数据的方法:thejavaessentials.blogspot.com/2017/03/… 也可能是旧时尚,但不是将 ROWID 用作链接列的选项吗?您可以获取 IG 行的 ROWID,将其获取到会话中,然后在下一页进一步处理。这是交互式报告的标准实现。 对链接和其他外部资源的请求在这里是题外话。来自官方的关闭原因:要求我们推荐或查找书籍、工具、软件库、教程或其他非现场资源的问题对于 Stack Overflow 来说是题外话,因为它们往往会吸引固执己见的答案和垃圾邮件. 【参考方案1】:

可以在dom中搜索类

.u-选择器

使用此类创建动态操作

结果是

【讨论】:

【参考方案2】:

您需要按照以下步骤操作:

您需要为可点击列设置一个静态类。 创建“点击”类型的新动态操作 选择类型为 JQuery 选择器。 在 Selector 字段中,您需要填写您在列属性中提到的静态类。 您需要将列的html id作为行的id,并在javascript中捕获它的值,如下所示:

this.triggeringElement.id -- 它将捕获点击的项目。

-一旦你捕捉到这个值,你可以将它设置为页面项目并做任何需要的事情。

【讨论】:

以上是关于如何在交互式网格中将 APEX$ROW_SELECTOR 与动态操作一起使用的主要内容,如果未能解决你的问题,请参考以下文章

如何仅使用 sql 在 apex oracle 的交互式网格中实现选择列表以及 oracle APEX 中可用的内容?

如何在 Oracle APEX 交互式网格报表中维护正在运行的计数器

如何在交互式网格上显示所有数据,然后使用 oracle_apex 上的穿梭过滤器减少它?

如何在 oracle apex 18 中编辑交互式网格(带有复杂的 sql 查询)?

Oracle APEX交互式网格新行不可编辑

删除 Oracle Apex 交互式网格行操作