满足多个条件时的甲骨文 APEX 显示按钮



我的页面上有几个下拉菜单,一个隐藏的项目和一个按钮。

每当用户更改 P1_DD1 或 P1_DD2 的值时,如果满足以下条件之一,我需要显示按钮:

1( 如果 P1_HIDDEN='YES' 并且 P1_DD1 和 P1_DD2 都不为空

2( 如果 P1_HIDDEN='NO' 并且 P1_DD1 不为空

最好的

方法是什么?

我最初在更改时向P1_DD1和P1_DD2添加了动态操作,P1_DD1将客户端条件设置为项目不为空,并将项目设置为P1_DD1和服务器端条件 PL/SQL Ex[pression: :P1_HIDDEN='NO'

这工作正常。问题出在P1_DD2上。我尝试使用类似的逻辑 - 添加客户端条件,其中P1_DD2不为空,然后添加服务器端条件 PL/SQL 表达式 :P1_HIDDEN='YES' AND P1_DD1 IS NOT NULL但没有任何反应。试图弄清楚为什么会这样。或者,也许有更好的方法可以做到这一点?

1 - 尝试在这些项目更改时创建动态操作(P1_HIDDEN、P1_DD1 P1_DD2(。

2 - 客户端条件>> Javascript 表达式

((apex.item('P1_DD1').getValue() != '') &&
(apex.item('P1_DD2').getValue() != '') &&
(apex.item('P1_HIDDEN').getValue() == 'YES'))
||
((apex.item('P1_DD1').getValue() != '') &&
(apex.item('P1_HIDDEN').getValue() == 'NO'))

3 - 真正的操作>> 显示按钮>>在页面加载时启用执行

4 - 错误操作>> 隐藏按钮>>在页面加载时启用执行

从字面上复制你写的内容,按钮的条件(返回布尔值的函数(如下所示:

return (
         (    :P1_HIDDEN = 'YES' 
          and :P1_DD1 is not null
          and :P1_DD2 is not null
         )
         or
         (    :P1_HIDDEN = 'NO'
          and :P1_DD1 is not null
         )
       );

最新更新