我在页面中创建了一个dataTable并显示了一些列,但我想只显示那些有条目的列(如果任何列没有记录,那么它不应该显示在页面上。)。有人请告诉我如何对此进行验证并显示表格。
答案 0 :(得分:2)
您可以在列上使用呈现的属性。
例如,如果当前代码与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的某些属性中。
答案 1 :(得分:1)
我认为此代码可以为您提供帮助:
<p:column rendered="#{var.login != null}">
<h:outputText value="#{var.login}" />
</p:column>
仅当var不为null
时才会呈现该列