【发布时间】:2014-07-21 11:11:53
【问题描述】:
我在页面中创建了一个数据表并显示了一些列,但我只想显示那些有条目的列(如果任何列没有记录,那么它不应该显示在页面上。)。任何人请告诉我应该如何在这个和显示表上进行验证。
【问题讨论】:
标签: jsf primefaces datatable
我在页面中创建了一个数据表并显示了一些列,但我只想显示那些有条目的列(如果任何列没有记录,那么它不应该显示在页面上。)。任何人请告诉我应该如何在这个和显示表上进行验证。
【问题讨论】:
标签: jsf primefaces datatable
您可以在列上使用渲染属性。
例如,如果您当前的代码类似于Primefaces showcase(其中实体是 Car)中的代码,则您在 bean 上为每一列创建一个方法,如果所有行都为空,则您希望省略。例如对于“颜色”列:
public Boolean hasAnyCarColor() {
for (Car car : cars) {
if (!(car.getColor() == null) && !(car.getColor().isEmpty()))
return true;
}
return false;
}
在视图中做:
<p:column rendered="#{testBean.hasAnyCarColor()}">
....
</p:column>
如果有很多行,您可能希望在 bean 的某些属性中缓存布尔值。
【讨论】:
我认为这段代码可以帮助你:
<p:column rendered="#{var.login != null}">
<h:outputText value="#{var.login}" />
</p:column>
仅当 var 不为 null 时才会呈现该列
【讨论】: