2014-03-13 46 views
0

我正在使用ADF和業務組件 我有一個帶部門標識的表格。這張表是從另一個JSF頁面填充的 我想顯示部門名稱而不是部門標識 我有業務部件和部門表中的視圖。 但我不知道如何顯示部門名稱在ADF表而不是去ID 我ADF表只讀更改adf表中的顯示值

回答

2

您可以創建一個LOV.Here您可以選擇屬性,你需要爲用戶顯示的類型外部(您的案例中的DNAME)和您需要內部存儲的值的類型(您的案例中使用DNO),具體取決於用戶選擇的顯示值。

請參閱此鏈接LOV創建
http://techblogoracle.wordpress.com/2013/10/14/how-to-create-list-of-values-lov-in-oracle-adf/

+0

我嘗試這個,但不是我需要的。我已經存儲了DNO。我不想挑選一個部門,我需要在一個只讀表中顯示名稱。我嘗試你的建議,但沒有工作 – Joseleg

1

在VO爲該屬性創建LOV!然後您有兩種可能性:1-在您的頁面中重新插入表格2-在表格中插入(重新插入)只需要作爲只讀列的屬性!

1

要顯示一個部門,而不是DepartmentID的名稱,在該ADF表基於視圖對象中的DepartmentID屬性創建一個LOV,指着部門視圖對象。

要更新現有的只讀表,請從JSF中除去departmentId屬性,然後重新添加它。確保新屬性是「ADF選擇一個選項」。列添加後,選擇下拉選擇一個選項,並將只讀屬性更改爲true。

<af:selectOneChoice value="#{row.bindings.DepartmentId.inputValue}" 
          label="#{row.bindings.DepartmentId.label}" 
          required="#{bindings.Employees_VO1.hints.DepartmentId.mandatory}" 
          shortDesc="#{bindings.Employees_VO1.hints.DepartmentId.tooltip}" 
          id="soc1" readOnly="true"> 

如果你現在運行這個頁面,它應該顯示部門的名稱,而不是ID,而仍然是隻讀的。

How to show departmentName instead of departmentId using an LOV - ADF

0

使用LOV或使用常規表達式,如果值的數目不超過2個或3個值

用法:#{row.code當量 'A'? 「批准」:「拒絕」}

1

如果您所在的相同的任務流或您共享數據控制,你不想改變你的VO要基於兩個個EO,您可以添加具有名稱的瞬態屬性,您將填充填充數據的頁面中的值。

使用LOVs它太頭疼了。如果LOV列表很大,您將遇到性能問題,嘗試以錯誤的方式解決問題。