2015-08-28 36 views
1

所以我有一個選擇列表和一個隱藏頁面項,我想根據隱藏項的值動態更新選擇列表。在Oracle中引用隱藏項APEX

我的選擇列表中的代碼如下:

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

你可以有一個簡單的基於查詢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'); 

確保P26_HIDDEN_ITEM,P26_ENV_STORAGE都在級聯LOV父項目(S)上市。