Oracle apex 创建页面进程以隐藏区域

Oracle apex 创建页面进程以隐藏区域,oracle-apex,Oracle Apex,我在创建在pl/sql中隐藏区域的进程时遇到一些问题。 有人能举个例子说明怎么做吗 坦克。如果合适,可以使用返回布尔值的条件类型PL/SQL函数体,将所需的PL/SQL直接放入条件中。例如,使用上面的代码,这对我来说似乎不太正确-所有的路都通向隐藏=3!: DECLARE a NUMBER; b NUMBER; hidden NUMBER; BEGIN select count(1) into a from TN_HISTORY_ITEMID where itemid in (sele

我在创建在pl/sql中隐藏区域的进程时遇到一些问题。 有人能举个例子说明怎么做吗


坦克。

如果合适,可以使用返回布尔值的条件类型PL/SQL函数体,将所需的PL/SQL直接放入条件中。例如,使用上面的代码,这对我来说似乎不太正确-所有的路都通向隐藏=3!:

DECLARE 
 a NUMBER;
 b NUMBER;
 hidden NUMBER;
BEGIN
 select count(1) into a from TN_HISTORY_ITEMID where itemid in (select id from TN_TREE where pid = (select id from tn_tree where pid =:P1_ID));
 select count(1) into b from surv_host_data where id_client = :P1_ID;
 if b <> 0 AND a = 0 then hidden := 3;
 elsif a = 0 then hidden := 3;
 elsif b = 0 then hidden := 3;
 else hidden := 3;
 end If;

 return (hidden = 3);
End;

如果需要对进程和页面项执行此操作,则需要确保在呈现区域之前呈现该项,并且在呈现要隐藏的区域之前运行该进程。否则,在设置项时就太晚了。

在pl/sql中隐藏区域是什么意思?您可以使用Javascript或动态操作隐藏它,也可以通过在区域上设置条件来有条件地完全不渲染它。我试图在区域中有条件地进行渲染,但这不起作用。我创建了一个项:P1_HIDDEN,然后在一个过程中,我这样做是为了在其中放入一个值并声明一个数字;b数;开始将select count1放入from TNU HISTORY_ITEMID中,其中从TN_树中选择id中的ITEMID,其中pid=从TN_树中选择id,其中pid=:P1_id;从surv_host_数据中选择count1到b,其中id_client=:P1_id;如果b0和a=0,则P1_HIDDEN=3;如果a=0,则P1_HIDDEN=3;如果b=0,则P1_HIDDEN=3;否则:P1_隐藏:=3;如果结束;终止但不起作用。是的,这是一个错误,当做过去和复制。但是我不能用一个值来设置:P1\u HIDDEN的值。不确定你的意思-:P1\u HIDDEN:=3;设置P1_HIDDEN的值。我有一个没有任何值的项目,并且有一个进程,我想为它设置一个值。这可能吗?当然可以。从最简单的流程开始::P1_HIDDEN:=3;。这将把它设置为值“3”。好的,但我已经这样做了,当我在应用程序中显示该项时,它是空的。是否可能是因为流程和项目的渲染时间?