【发布时间】:2019-06-05 12:28:42
【问题描述】:
我的页面上有一个交互式网格,允许选择行。当用户单击按钮时,页面会分支到另一个页面。我需要创建一个验证以确保仅在选择了某些记录时才分支出页面。最好的方法是什么?
【问题讨论】:
-
你分支到哪个页面?预定义页面或表格中的页面?这也有助于了解您是否接受多个选定的行以及如果发生这种情况您想做什么。
-
预定义页面
标签: oracle-apex-5.1
我的页面上有一个交互式网格,允许选择行。当用户单击按钮时,页面会分支到另一个页面。我需要创建一个验证以确保仅在选择了某些记录时才分支出页面。最好的方法是什么?
【问题讨论】:
标签: oracle-apex-5.1
我没有自负我的方式是最好的方式,但它确实有效:
您需要为按钮提供一个静态 ID(我的 ID 为 LinkButton)。
然后,您应该在您的网格上针对事件Selection change [Interactive Grid] 创建一个动态操作。做一个Execute JavaScript Code 应该做的真正行动:
if(this.data.selectedRecords[0] != undefined) {
//This is what happens when rows are selected
document.getElementById("LinkButton").disabled = false;
}
else {
//This is what happens when no rows are selected
document.getElementById("LinkButton").disabled = true;
}
**可能不是最好的解决方案,很可能有一种方法可以使用来自APEX'S API 的Grid Widget 来实现这一点,但我无法使用它从我的网格中返回任何对象。如果在该页面中的任何网格(如果您有多个报告/网格)中选择了任何行,我的回答将禁用该按钮,而不是在特定的交互式网格中。
我的回答深受这个人的启发:http://thejavaessentials.blogspot.com/2017/03/getting-selected-rows-in-oracle-apex.html 和这篇文章:Disabling and enabling a html input button
**我在 APEX 19.1 上对其进行了测试,但由于上面的人正在使用 APEX 5,我猜它也应该可以使用。
【讨论】: