总结问题
所以我有一个Department Table,它的Department ID列引用了Location Table。
仅供参考:(Department.locationID = Location.LocationID)
现在,在我的UI页面上,当我拖放部门集合以创建表时,它显示的是locationID而不是位置名称。我的最终用户将不了解位置ID,他们需要查看locationName。
提供背景信息,包括您已经尝试过的内容
在我的部门VO上,我已将locationID引用到LOV,以便它显示LocationName。当表是可更新的时,我没有问题,但是当表被读取时,仅显示ID而不是名称。
我读过一些博客,他们建议将表格列设置为SelectOneChoice。在下面的jsf页面中找到所需的代码段。
显示一些代码
<af:column headerText="#{bindings.Departments1.hints.DepartmentLocationId.label}" id="c6">
<af:selectOneChoice value="#{row.DepartmentLocationId}"
shortDesc="#{bindings.Departments1.hints.DepartmentId.tooltip}"
id="soc1" readOnly="true">
<af:convertNumber groupingUsed="false" pattern="#{bindings.Departments1.hints.DepartmentLocationId.format}"/>
</af:selectOneChoice>
<!-- <af:outputText value="#{row.DepartmentLocationId}"
shortDesc="#{bindings.Departments1.hints.DepartmentLocationId.tooltip}" id="ot6">
<af:convertNumber groupingUsed="false" pattern="#{bindings.Departments1.hints.DepartmentLocationId.format}"/>
</af:outputText> -->
</af:column>
描述预期和实际结果,包括任何错误消息
进行上述更改(我将“ outputText ”部分注释掉,并添加了“ selectOneChoice ”部分),我的位置列未显示任何内容。
我的预期输出是该表显示位置名称而不是locationID。
我正在使用JDeveloper 12c。
答案 0 :(得分:0)
以防万一,其他任何人都面临相同的问题,这就是我作为解决方法所做的事情。它不是上述问题的确切解决方案,但可以。
我制作了一个基于两个EO的VO,而不是依赖于一个EO的VO。 DepartmentEO和LocationEO。在VO层中,两个EO也都应与关联相关联。
现在我的DepartmentVO有一个名为LocationName的额外属性。在UI正面,我隐藏了LocationID,而是显示LocationName。