如何在 Oracle APEX 中动态控制区域显示选择器?

How can I dynamically control a Region Display Selector in Oracle APEX?

我希望 select 一个特定区域根据 link 用户进入该页面后在页面加载时突出显示。这是一个包含多个选项的向下钻取报告,因此目标是让所有选项都可用,但重点放在用户 select 的选项上,以减少用户必须导航 to/from向下钻取的基础报告。

目前,我正在尝试实施此解决方案 https://svenweller.wordpress.com.../, further explained in an Oracle Community discussion here: https://community.oracle.com/...,但它对我不起作用。

我现在拥有的与这些示例中显示的类似,现在我只是尝试 link 到静态区域显示选择器 (RDS) 选项卡(目标是拥有selected 区域是动态的,基于在供稿器页面中单击 link,但我显然还没有。

我有一个动态操作设置为在页面加载事件时触发,还有一个执行 JavaScript 代码并使用示例中的 JavaScript 的 True 操作(建议使用和不使用超时功能)在 Oracle 线程中)。我已经为 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,确保设置值不被保护。

您需要在单击 link 时设置该变量的值。

然后您需要将静态 ID TAB1TAB2 等添加到区域显示选择器的选项卡。

然后在页面加载时添加 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');
}