Oracle APEX:如果条件为真,则打开模态对话框

Oracle APEX: Open Modal Dialog if condition is true

如果 PL/SQL 函数体条件为真,我想用确定按钮打开一个消息框。

此外,消息框在关闭时应提交打开它的页面。

我已经尝试了几种方法,其中 none 成功了。 我怎样才能做到这一点?

我使用 Oracle Apex 5.1。

创建一个隐藏的页面项目,例如P1_ITEM 来源为空。
创建一个提交页面的按钮 MY_BUTTON。 为 P1_ITEM After Submit 创建一个 computation 来运行你的 PL/SQL 函数体和 returns 'Y' 如果结果为真。
使用服务器端条件 When Button Pressed = MY_BUTTONItem = Value P1_ITEM, Value 'Y'.

创建 branch After Processing

这只会在您的函数计算结果为 true 时打开模式(请记住在重定向时清除页面上的缓存,以便 P1_ITEM 不再 = 'Y'.

对于第二部分,创建类型为 Dialog ClosedDynamic ActionSelection Type 应该是您单击按钮所在的区域,Action Submit Page.

根据 Markus 的评论进行编辑:如果对话框关闭不起作用(可能是因为父页面最初是提交而不是重定向),要提交父页面,您可以在模式页面上设置按钮以提交带有父页面的分支。