如何在 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 TAB1
、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');
}
我希望 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 TAB1
、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');
}