【发布时间】:2013-04-29 22:34:29
【问题描述】:
我想使用我的支持 bean 中的 2 个列表而不是一个列表来创建一个 rich:datagrid。
所以不是:
<rich:dataGrid columns="1" width="100%" value="#{MyBean.myList1}" var="listobj1" iterationStatusVar="it" elements="10">
我想要:
<rich:dataGrid columns="1" width="100%" value="#{MyBean.myList1}, #{MyBean.myList2}" var="listobj1, listobj2" iterationStatusVar="it" elements="10">
这可能吗?
【问题讨论】:
-
您只想遍历 myList1 和 myList2 的所有值吗?在这种情况下,我会使用
MyBean.myUnion作为值并有一个getter,它只是说List l = new ArrayList(myList1); l.addAll(myList2); return l;。但是你对var的使用让我很困惑——你希望它做什么? -
抱歉,应该说明原因。基本上我在支持 bean 上有 2 个列表,它们是 POJO 列表(List
)。现在我想要的只是能够引用数据网格中的 POJO。所以基本上我希望能够在数据网格中添加 。 -
listObj1 和 listObj2 之间是否存在 1:1 映射关系?在这种情况下,您可能可以使用
Map<pojo1,pojo2>并对其进行迭代。尽管 JSF 有点麻烦,请参阅 stackoverflow.com/questions/8552804/… 和 stackoverflow.com/a/10934074/785663 -
嗯,地图是个好主意,但不幸的是,使用地图不起作用,因为我将它们作为列表获取,它们可能会变得很长,因此将它们转换为地图需要很长时间,我正在尝试避免。