4

我需要对数据表进行条件分页,也就是说,只有当记录数大于 5 时才需要添加分页。

原因是当分页包含在数据表中时,它占据了屏幕上一行的空间。在大多数情况下,行数仅为 5。因此,目的是为这些大多数情况节省屏幕空间。

4

2 回答 2

15

根据 primefaces 的文档:

像这样设置dataTable分页器

 paginator="true" rows="5" paginatorAlwaysVisible="false"

- 只有当表中有超过 5 条记录时,分页器才会可见。

于 2013-04-26T10:43:37.680 回答
2

假设你有这个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"> 

豆子:

public boolean isExceedsFive() {
    return cars.size() > 5;
}

注意 EL 中的引用paginator=""

于 2013-04-26T09:27:17.530 回答