Oracle apex 如果我将LOV select list值置于单击按钮事件的where条件中,则不会触发动态操作

Oracle apex 如果我将LOV select list值置于单击按钮事件的where条件中,则不会触发动态操作,oracle-apex,oracle-apex-5.1,Oracle Apex,Oracle Apex 5.1,我正在从LoV中选择一个值。然后我单击一个按钮触发动态操作当->事件=单击,选择类型->按钮,按钮名称。然后在服务器端条件下,我将按预期从选项卡中放置行返回->选择*从其触发,但如果我将更改sql查询,请从选项卡中选择*,其中列=:LoV有1条记录,但是它没有被触发。之所以没有被触发,是因为服务器端条件告诉APEX在呈现页面时是否加载定义的动态操作 在第一个示例中,查询select*from选项卡将返回行。因此,在呈现页面时,当按下按钮时,将加载并执行动态操作 在第二个示例中,包括where子句

我正在从LoV中选择一个值。然后我单击一个按钮触发动态操作当->事件=单击,选择类型->按钮,按钮名称。然后在服务器端条件下,我将按预期从选项卡中放置行返回->选择*从其触发,但如果我将更改sql查询,请从选项卡中选择*,其中列=:LoV有1条记录,但是它没有被触发。

之所以没有被触发,是因为服务器端条件告诉APEX在呈现页面时是否加载定义的动态操作

在第一个示例中,查询select*from选项卡将返回行。因此,在呈现页面时,当按下按钮时,将加载并执行动态操作

在第二个示例中,包括where子句select*from tab col=:Lov,页面项:Lov在呈现页面时很可能仍然为空,因此未加载动态操作,并且在按下按钮时浏览器不存在该动态操作

服务器端条件在这里不是正确的解决方案

如果希望仅当所选lov项也存在于表中时才执行动态操作

在APEX 5.1中,您可以在DA中执行AJAX调用,以在执行实际逻辑之前检查行的存在性

在APEX 19.2中,您可以在LOV中定义额外的输出列,您可以使用这些列设置额外的页面项。将该项目设置为指示器Y/N以运行DA。然后,您可以使用客户端条件根据指示符确定是否应执行DA


希望这有帮助。当您需要两种解决方案之一的进一步帮助时,请告诉我。

这是否有帮助?我认为是相似的