如何从 PrimeFaces 数据表自定义分页器

Posted

技术标签:

【中文标题】如何从 PrimeFaces 数据表自定义分页器【英文标题】:How to customize the paginator from PrimeFaces datatable 【发布时间】:2012-08-21 15:29:00 【问题描述】:

我想自定义PrimeFace的数据表分页。

目前在底部显示的页数为:(1 of 5)。我想在总记录数中显示一页中的记录数,例如:(1-10 of 50)

我在下面包含了我的代码 - 但它不起作用。有人可以帮忙吗?

<p:dataTable id="tblStatusSearch" var="item" rowIndexVar="rowStatusSearch"      
    rows="10" paginator="true"  
    paginatorTemplate="CurrentPageReport  
    FirstPageLink PreviousPageLink PageLinks NextPageLink LastPageLink "
    value="#StatusAction.listEBeans"

<f:facet name="footer"> 
    <h:outputText value="#rowStatusSearch + 1 - 10 out of #bondLocationStatusAction.itemCount"/>
</f:facet>

【问题讨论】:

【参考方案1】:

您可以将 PrimeFaces currentPageReportTemplate 用于 CurrentPageReport,如下所示:

<p:dataTable id="tblStatusSearch" var="item" paginator="true" rows="10"
    currentPageReportTemplate="Showing startRecord-endRecord out of totalRecords"
    paginatorTemplate="CurrentPageReport  
FirstPageLink PreviousPageLink PageLinks NextPageLink LastPageLink "
    value="#StatusAction.listEBeans">

我确认它在 PrimeFaces 3.4.2 中有效。它出现在 PrimeFaces 3.0 的用户指南中,因此如果您使用 PrimeFaces 3.x,它应该适合您。

【讨论】:

它正在工作,但是:过滤后我有:“显示未定义的 1-23”。我们如何通过过滤来管理此功能? (解决未定义的错误?) 使用过滤时我没有遇到您的问题。我发现了一个与您类似的 PrimeFaces 问题:code.google.com/p/primefaces/issues/detail?id=5621。您的问题与 OP 提出的问题不同,应该在另一个问题中处理。您可以搜索您的问题是否有关于 SO 的答案。如果没有,您应该提出一个包含所有详细信息的新问题。 奇怪,因为是同一个代码,显然不是PF版本的问题。【参考方案2】:

我认为这将解决您的目的。

<p:dataTable id="datatable" var="car" value="#myBean.cars" paginator="true" rows="10"  
paginatorTemplate="RowsPerPageDropdown FirstPageLink PreviousPageLink PageLinks NextPageLink LastPageLink CurrentPageReport"
currentPageReportTemplate="startRecord - endRecord of totalRecords">
<p:column...../>
<p:column...../>
</p:datatable>    

代替 CurrentPageReport,您将能够看到您要查找的内容。

【讨论】:

【参考方案3】:

"please refer to the attached image"我想你忘记附上图片了;)

如果你想在 p:datatable 中显示页面大小,你应该在 bean 中声明两个字段,并在其中保存 pageSizefirst 参数值形式 load 方法然后你可以显示页面大小关注paginatorTemplate:

paginatorTemplate=" CurrentPageReport #yourBean.first + yourBean.pageSize and rest of you template "

记住ELpaginatorTemplate 属性中起作用。

【讨论】:

以上是关于如何从 PrimeFaces 数据表自定义分页器的主要内容,如果未能解决你的问题,请参考以下文章

Django分页器和自定义分页器

如何将自定义文本添加到primeng分页器

Django分页器及自定义分页器

批量插入数据自定义分页器

django自定义分页器

Django自定义分页器