无法使用 ORACLE APEX 删除交互式报表中的行

Posted

技术标签:

【中文标题】无法使用 ORACLE APEX 删除交互式报表中的行【英文标题】:Unable to delete row in interactive report using ORACLE APEX 【发布时间】:2020-04-23 07:57:50 【问题描述】:

我无法删除交互式报告中的任何行。 步骤:创建新的交互式报告页面。

参照PKemployee_id创建页面项P400_EMPLOYEE_ID并设置为隐藏。

对于虚拟列“del”,属性为: 类型:链接 网址:javascript:void(null); 链接文字: 链接属性:data-id=#EMPLOYEE_ID#

创建动态操作选项: 名称:DA_DELETEROW 事件:点击 选择类型:jQuery 选择器 jQuery 选择器:.delete-irrow 事件范围:动态

右键单击动态操作 DA_DELETEROW 并选择 Create True Action : 行动:确认 文本:您确定要删除该员工吗?

第二个真正的动作: 行动:设定值 设置类型:JavaScript 表达式 JavaScript 表达式:$(this.triggeringElement).parent().data('id') 选择类型:项目 项目:P400_EMPLOYEE_ID 第三个真正的行动: 行动:执行 PL/SQL 代码 PL/SQL 代码:从employee_leave 中删除employee_id= :P400_EMPLOYEE_ID; 要提交的项目:P400_EMPLOYEE_ID

最后一个真正的动作设置为刷新区域。

尽管如此,我可以看到删除按钮,但无法删除任何行。 它只是在删除时刷新页面,不会从报表或表格中删除任何行。

请帮忙!!!!!!

【问题讨论】:

添加第三个动作,submit? 请详细说明??? 您创建了一个包含多个“真实”操作的动态操作。因此,添加另一个将提交该删除。或者,尝试在第二个真实动作结束时使用commit;(在delete from employee ... 之后)。 哦,你是说要提交的项目?是的,它是空白的。 不行,在 pl/sql 代码中,我没有添加要提交的项目,即:P400_EMPLOYEE_ID。它在它之后起作用了! :) 【参考方案1】:

您为什么要尝试使用动态操作从交互式网格中删除一行?从数据库中删除行并刷新交互式报表不是更简单吗?

【讨论】:

以上是关于无法使用 ORACLE APEX 删除交互式报表中的行的主要内容,如果未能解决你的问题,请参考以下文章

在 Oracle APEX 交互式报表中更新与过滤器相关的页面项目

如何在Oracle Apex交互式报表的行中添加更新按钮?

在交互式报表中创建列链接 -Oracle Apex

在 Oracle APEX 中访问报表输出表

创建交互式报表时的 Oracle APEX ORA-01722

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