0

我有一个 bean 中的对象列表,我想将此列表显示到数据表中。每行包含对象的数据。但是,我不想在我的数据表中显示所有对象。

<rich:dataTable id="myTable" iterationStatusVar="iterator" style="width: 100%; height: 100%" value="#{myBean.myList}" var="myObject">
                <rich:column>
                    <f:facet name="header">
                        <h:outputLabel value="#{bundle.name}"/>
                    </f:facet>
                    <h:outputLabel value="#{myObject.name}" rendered = "#{myObject.code == bundle.code}"/>
                </rich:column>
                <rich:column>
                    <f:facet name="header">
                        <h:outputLabel value="#{bundle.type}"/>
                    </f:facet>
                    <h:outputLabel value="#{myObject.type}" 
                        rendered = "#{myObject.code== bundle.code}"/>
                </rich:column>
            </rich:dataTable>

此代码仅显示具有 myObject.code== bundle.code 的对象。但是,我的数据表也显示了其他行(未通知列)。

请问你能帮帮我吗?

谢谢你。

4

1 回答 1

0

您的 bean 可以提供一个返回过滤列表的方法,该列表仅包含所需的对象。在您的数据表中显示该过滤列表。

或者,如果您使用当前的 EL 版本 3.0,您可以使用 EL 表达式来过滤列表。 #{myBean.myList.stream().filter(o->o.code == bundle.code)}"#

于 2013-11-06T11:50:39.173 回答