【问题标题】:How to customize the paginator from PrimeFaces datatable如何从 PrimeFaces 数据表自定义分页器
【发布时间】: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>

【问题讨论】:

    标签: jsf datatable primefaces pagination


    【解决方案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 属性中起作用。

      【讨论】:

        猜你喜欢
        • 2013-09-24
        • 1970-01-01
        • 2018-06-14
        • 1970-01-01
        • 2021-03-01
        • 1970-01-01
        • 2016-05-07
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多