在Oracle APEX中引用隐藏项

时间:2015-08-28 09:11:07

标签: oracle oracle-apex hidden

所以我有一个选择列表和一个隐藏页面项目,我想根据隐藏项目的值动态更新选择列表。

我的选择列表代码如下:

if :P26_HIDDEN_ITEM != 'Other'
then
return
q'[SELECT DISTINCT tag d, tag r 
FROM builds
WHERE instr(tag,:p26_env_storage)>0
OR tag = 'tagged']';
else
return
q'[SELECT DISTINCT tag d, tag r 
FROM builds
WHERE tag = 'tagged']';

现在我相信我的代码没有任何问题,当我将隐藏项目任何其他形式的页面项目或甚至引用另一个页面项目(如选择列表)时,查询按预期运行,但是当:P26_HIDDEN_ITEM被隐藏时查询只运行else语句,忽略查询的上半部分。

如果我更改条件,问题也是一样的,它总是直接进入else语句。另外我知道一个事实:P26_HIDDEN_ITEM更新,因为我在会话中多次检查过它。

那么有没有办法引用这样的隐藏项目,还是需要采取不同的路线?

如果有帮助,我正在使用APEX 4.2.2。

1 个答案:

答案 0 :(得分:1)

使用简单的基于查询的LOV可以产生相同的效果:

SELECT DISTINCT tag d, tag r 
FROM builds
WHERE (:P26_HIDDEN_ITEM != 'Other'
  AND (instr(tag,:p26_env_storage)>0 OR tag = 'tagged')
OR (NVL(:P26_HIDDEN_ITEM,'Other') = 'Other'
  AND tag = 'tagged');

确保级联LOV父项中列出了P26_HIDDEN_ITEM,P26_ENV_STORAGE