我是ADF和Business组件的新成员 我有一个带有部门ID的columm的表。此表由另一个JSF页面填充 我想显示部门名称而不是部门ID 我的业务组件包含来自我的部门表的视图。 但我不知道如何在adf表中显示部门名称而不是de id 我的adf表是只读的
答案 0 :(得分:2)
您可以创建一个LOV。在这里您可以选择需要在外部为用户显示的属性类型(在您的情况下为DNAME)以及您需要在内部存储的值类型(在您的情况下为DNO),具体取决于所选用户显示值。
请参阅此链接以获取LOV http://techblogoracle.wordpress.com/2013/10/14/how-to-create-list-of-values-lov-in-oracle-adf/
答案 1 :(得分:1)
在您的VO中为该属性创建一个LOV!然后,您有两种可能性:1-在页面中重新插入表格2-仅插入(重新插入)作为该表中只读列所需的属性!
答案 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
答案 3 :(得分:1)
如果您处于相同的任务流或共享数据控件,并且您不希望将您的VO更改为基于两个EO,则可以添加带有名称的瞬态属性,您将填充填充数据的页面中的值。
使用LOV这太令人头疼了。如果LOV列表很大,那么您将遇到性能问题,试图以错误的方式解决问题。
答案 4 :(得分:0)
您可以向VO添加引用的属性。 因此,创建一个基于Emp和Dept的VO。 例如,请参阅此处的视频:https://blogs.oracle.com/shay/entry/whenvalidateitem_trigger_in_ad
答案 5 :(得分:0)
如果值的数量不超过2或3个值,则使用lov或使用groovy Expression
用法:#{row.code eq&#39; A&#39; ? &#39;已批准&#39; :&#39;被拒绝&#39; }