2017-04-12 26 views
0

我創建了一個帶有表單的交互式報告。在表單中我有兩個選擇列表。第一個選擇列表是在共享組件中定義的值列表。第二個選擇列表是在共享組件中定義的另一個值列表,但此選擇列表根據第一個選擇列表中的選定項目填充其LOV。Oracle Apex 5.1:基於顯示返回值而非顯示值的LOV(值列表)的報告列

讓選擇列表的名稱是:

  1. 地區。
  2. 國家(取決於「地區」字段中的所選項目)。

現在,當我按下窗體中的save/create按鈕時,報表中會創建一行。報告中的「地區」列和「國家」列都是「純文本(基於值列表)」。但是我看到的是Region列顯示了LOV的正確顯示值,但Country列顯示了LOV的返回值。

我希望這兩列顯示顯示值而不是返回的值。任何人都可以幫我找到解決方案嗎?

回答

1

您是否在形式和交互式報告中使用相同的LOV?如果是這樣並且在條件LOV(國家)中引用了您的表單項(例如PX_REGION),它將無法在IR中正常運行。可能IR顯示返回的值,因爲選項「顯示額外值」被選中。

如果是這種情況,我的建議是更改您的IR,而不是「純文本(基於值列表)」,您將其設置爲純文本並將查詢更改爲IR查詢中的內嵌查詢以獲取你想要展示的價值。

如果你不想/喜歡把你的LOV查詢在不同的地方,我建議你使用this approach shared by Nick Buytaert

希望這可以幫助你解決你的問題。

+0

你是對的@hmarques。我在Form和IR中使用了相同的LOV來創建問題。我已經閱讀了你的鏈接,當我需要表單中的多個條件LOV時,這是非常有用的。但我無法理解如何引用報告列來傳遞列值作爲參數。 現在,我創建了另一個列出所有國家的LOV,並從報告中的相應列中引用它。 感謝您的幫助。 –

+0

當您想要在多個頁面中使用條件LOV而不在查詢中使用時,共享鏈接很有用。你IR查詢,你可以使用內聯查詢或創建一個函數來回報你想,像這樣 功能f_get_country(P_ID IN country_table.id%TYPE) RETURN country_table.desc%TYPE AS v_country_desc country_table領域的描述值.desc%TYPE; BEGIN 從country_table選擇desc到v_country_desc中,其中id = p_id; return v_country_desc; END fun_get_languages; 注意:內聯查詢會有更好的性能。 – hmarques