[英]How to display specific row with rich:dataTable in JSF
我在Bean中有一个对象列表,我想将此列表显示到dataTable中。 每行包含对象的数据。 但是,我不想在我的dataTable中显示所有对象。
<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的对象。 但是,我的数据表也显示其他行(未通知列)。
请问你能帮帮我吗?
谢谢。
您的bean可以提供一种返回过滤列表的方法,该列表仅包含所需的对象。 在您的dataTable中显示该过滤列表。
或者,如果使用当前的EL版本3.0,则可以使用EL表达式来过滤列表。 #{myBean.myList.stream().filter(o->o.code == bundle.code)}"#
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.