我的页面上有一个交互式网格,允许选择行。当用户单击按钮时,页面会分支到另一个页面。我需要创建一个验证来确保页面仅在选择了某些记录后才会分支出来。最好的方法是什么?
答案 0 :(得分:0)
我没有自欺欺人的态度,这是最好的方法,但是它有效:
您需要为按钮提供一个静态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,我猜测它也应该在其上工作。