对Datatable进行条件分页



我需要在数据表上进行条件分页,也就是说,只有当记录数>例如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的引用

最新更新