Oracle apex 从更改选择列表上的动态操作调用模式窗口
环境:Oracle APEX v5.1.2/Oracle 12c R2 我有一个交互式网格报告,其中一列(活动)是基于LOV的选择列表列,其值为“Y”或“N” 当选择列表的值为“Y”时,我试图从动态操作中调用一个模式窗口。我尝试了以下代码: 在活动列上,我有一个DA,它有一个when更改事件和一个item/column=value(Active=Y)的客户端条件 然后我有一个真正的条件:执行PL/SQLOracle apex 从更改选择列表上的动态操作调用模式窗口,oracle-apex,oracle-apex-5.1,Oracle Apex,Oracle Apex 5.1,环境:Oracle APEX v5.1.2/Oracle 12c R2 我有一个交互式网格报告,其中一列(活动)是基于LOV的选择列表列,其值为“Y”或“N” 当选择列表的值为“Y”时,我试图从动态操作中调用一个模式窗口。我尝试了以下代码: 在活动列上,我有一个DA,它有一个when更改事件和一个item/column=value(Active=Y)的客户端条件 然后我有一个真正的条件:执行PL/SQL DECLARE l_url varchar2(2000); l_ap
DECLARE
l_url varchar2(2000);
l_app number := v('APP_ID');
l_session number := v('APP_SESSION');
BEGIN
l_url := APEX_UTIL.PREPARE_URL(
p_url => 'f?p=' || l_app || ':22:'||l_session||'::NO:22::',
p_triggering_element => '$("#is-active")'
);
END;
is active是我的静态id,对应于我的IG中的活动列。不幸的是,我在第22页上的模式表单没有触发/显示。我找到了一个解决方案,您需要创建一个隐藏的页面项,例如(P2_URL),并将默认值类型设置为PLSQL表达式,然后在PLSQL表达式中写入以下PLSQL:
apex_util.prepare_url('f?p=&APP_ID.:4:&SESSION.::&DEBUG.::::', p_triggering_element => '$(''#is-active'')')
然后,在动态操作中,您必须执行以下javascript代码,而不是执行plsql:
eval($('#P2_URL').val())
要了解更多详细信息,请阅读此您是否尝试在DA中运行警报以查看DA是否触发?此外,我还没有使用PLSQL重定向,但发送它时是否需要apex_util.redirect_url尝试添加apex_util.redirect_url(l_url)还有,您尝试过吗