如何在paginatorTemplate中使用{totalPages}?

时间:2015-01-12 06:48:14

标签: jquery css jsf primefaces

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

enter image description here

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

<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}。
问题:如何实现这一目标?

2 个答案:

答案 0 :(得分:0)

这是我使用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>

将此脚本放在表格后面

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

这是一个现在最重要的解决方案,它是一种非常常用的方式,但它可以完成工作。

答案 1 :(得分:0)

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

<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来获取总页数。

dataTable之后的脚本: -

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