我需要在数据表上进行条件分页,也就是说,只有当记录数>例如5时才需要添加分页。
原因是当分页包含在数据表中时,它占用了屏幕上一行的空间。在最大情况下,行数将仅为5。所以,这样做的目的是为大多数情况节省屏幕空间。
根据primefaces的文档:
设置dataTable分页器
paginator="true" rows="5" paginatorAlwaysVisible="false"
-只有当表中有超过5条记录时分页器才会显示
假设您已经获得了这个dataTable
(来自展示柜):
<p:dataTable id="dataTable" var="car" value="#{tableBean.cars}"
paginator="true" rows="10"
paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
rowsPerPageTemplate="5,10,15">
您可以像这样有条件地关闭分页器:
<p:dataTable id="dataTable" var="car" value="#{tableBean.cars}"
paginator="#{tableBean.exceedsFive}" rows="10"
paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
rowsPerPageTemplate="5,10,15">
bean:
public boolean isExceedsFive() {
return cars.size() > 5;
}
注意paginator=""
中EL的引用