javascript - 如何在 Oracle APEX 中动态控制区域显示选择器?
问题描述
我希望根据用户进入该页面所遵循的链接来选择一个特定的区域以在页面加载时突出显示。这是一个包含多个选项的向下钻取报告,因此目标是提供所有选项,但专注于用户选择的选项,以减少用户必须导航到/从基础报告导航到向下钻取的次数.
目前,我正在尝试实施此解决方案https://svenweller.wordpress.com.../,在此处的 Oracle 社区讨论中进一步解释:https://community.oracle.com/...,但它是不为我工作。
我现在所拥有的与这些示例中显示的类似,现在我只是尝试链接到静态区域显示选择器 (RDS) 选项卡(目标是使所选区域根据哪个链接动态在进纸器页面中单击,但我显然还没有)。
我有一个动态操作设置为在页面加载事件上触发,以及一个执行 JavaScript 代码并在示例中使用 JavaScript 的 True 操作(无论是否有 Oracle 线程中建议的 Timeout 函数)。我已经为 RDS 和区域设置了静态 ID,但是当我加载页面时,RDS 仍然默认为“全部显示”(如果“全部显示”关闭,则为第一个区域)。
有人可以帮我理解我做错了什么吗?
谢谢。
let sesStorage = apex.storage.getScopedSessionStorage({
useAppId:true,
usePageId:true});
setTimeout(sesStorage.setItem( "tabs.activeTab", "#R3" ) { apex.region("tabs").widget().aTabs("getTabs")["#R3"].makeActive();}, 300);
\\version without setTimeout
let sesStorage = apex.storage.getScopedSessionStorage({
useAppId:true,
usePageId:true});
sesStorage.setItem( "tabs.activeTab", "#R3" );
解决方案
我过去做过类似的事情。在页面上创建一个隐藏变量P1_TEST
,确保设置的值不被保护。
单击链接时,您需要设置该变量的值。
然后,您需要将静态 IDTAB1
等添加TAB2
到您的区域显示选择器的选项卡中。
然后在页面加载上添加一个 DA:
if (apex.item("P1_TEST").getValue() === "Value1"){
$(".apex-rds [href='#TAB1']").trigger('click');
} else if (apex.item("P1_TEST").getValue() === "Value2"){
$(".apex-rds [href='#TAB2']").trigger('click');
}
推荐阅读
- react-native - (react-native-gifted-chat with firebase-firestore) 发送一条消息时会显示更多消息
- c# - Visual Studio 可以为事件自动创建内联的本地匿名方法,而不是创建具体方法吗?
- haskell - 在这种情况下,什么是“无”作为空返回值的有效替换
- shiny - 在 Shiny 中上传 .csv 并更改 as.Date 格式
- r - 如何获取特定列的变量类型?
- r - 如何将水平分配给因子变量
- java - 在分布式服务架构中使用 System.currentTime?
- java - 如何在java中动态显示一组多个元素?
- deep-learning - LSTM多对多同步序列输入和输出Pytorch损失不减少?
- android - android: retrofit2 post giving error but successful?