如何在 paginatorTemplate 中使用 {totalPages}?

How to use {totalPages} in paginatorTemplate?

我正在努力实现以下目标:-

以下是我的数据表代码:-

<p:dataTable id="datatableid" 
        var="record"
        value="#{myController.records}" 
        selectionMode="single"
        selection="#{myController.selectedRecord}"
        rows="10"
        paginator="true"
        currentPageReportTemplate="{startRecord} - {endRecord} of {totalRecords} Records Displayed, {totalPages}"
        paginatorTemplate="{CurrentPageReport}  &lt;span class='pg-text'&gt; Pg &lt;/span&gt; {JumpToPageDropdown} {totalPages} {RowsPerPageDropdown} "
        rowsPerPageTemplate="5,10,15"
        scrollable="true" 
        paginatorPosition="bottom"
        >

我想在 paginatorTemplate 中使用 {totalPages}。
问题:如何实现?

这就是我使用 Jquery 并使用 widgetVar 访问 Paginator 对象的方式 getPaginator().

<p:dataTable id="datatableid" widgetWar="myTableWidget"
             paginatorTemplate="{CurrentPageReport}  &lt;span class='pg-text'&gt; Pg &lt;/span&gt; {JumpToPageDropdown} &lt;div class='pg-temp-total'&gt;  &lt;/div&gt; {RowsPerPageDropdown} "
             ...>
...
</p:dataTable>

将此脚本放在 Table

之后
<script type="text/javascript">
$('.pg-temp-total').text(PF('myTableWidget').getPaginator().cfg.rowCount);
</script>

这是我现在想到的一个解决方案,这是一种不寻常的方式,但它完成了工作。

我找到了以下解决方案:-

<p:dataTable id="datatableid" 
    var="record"
    widgetVar="mydtwidget"
    value="#{myController.records}" 
    selectionMode="single"
    selection="#{myController.selectedRecord}"
    rows="10"
    paginator="true"
    currentPageReportTemplate="{startRecord} - {endRecord} of {totalRecords} Records Displayed, {totalPages}"
    paginatorTemplate="{CurrentPageReport}  &lt;span class='pg-text'&gt; Pg &lt;/span&gt; {JumpToPageDropdown} &lt;span class='pagecount-text'&gt;  &lt;/span&gt; {RowsPerPageDropdown} "
    rowsPerPageTemplate="5,10,15"
    scrollable="true" 
    paginatorPosition="bottom"
    styleClass="my-datatable"
    >

我使用 jquery 通过使用数据表的 widgetvar 来获取总页数。

数据表之后的脚本:-

<script type="text/javascript">
    $(function() {
        var pagecount = PF('mydtwidget').paginator.cfg.pageCount;
        $(".my-datatable .ui-paginator .pagecount-text").text(" of "+pagecount);
    });
</script>