如何在Primefaces 6.2上设置自动下一个DataGrid分页

时间:2018-10-26 08:19:43

标签: javascript jsf primefaces datagrid

我已经尝试过了,但是没有用。 how to make automatic paginator in p:dataGrid

 <p:dataGrid var="serv" id="datagridID" widgetVar="datagridWid" value="#{telemetryServiceBacking.telGet}" columns="3" layout="grid"
         rows="6" paginator="true" paginatorTemplate="Number of : #{telemetryServiceBacking.telGet.size()} 
         {CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}">

这是我的JavaScript

 <script>
        function timer(){
                        var myVar = setInterval(myTimer, 5000);
                    }

                    function myTimer() {
                        var myvar1 = datagridWid.cfg.paginator.page;
                        var myvar2 = datagridWid.cfg.paginator.pageCount - 1;
                        if(myvar1 == myvar2){
                             PF('datagridWid').getPaginator().setPage(0);
                        }
                        else {
                            PF('datagridWid').getPaginator().setPage(datagridWid.paginator.getCurrentPage() + 1);
                        }
                }
    window.onload = timer;
 </script>

设置的页面手册可以正常工作,但是我不知道如何使用JavaScript在<p:datagrid>中获取当前页面和总页面

PF('datagridWid').getPaginator().setPage(1);

并且是否有任何有关新的更新主字体的文档?

1 个答案:

答案 0 :(得分:-1)

在此处获得PF 6.2的当前页面

('datagridWid').getPaginator().page or PF('datagridWid').getPaginator().getPage()

因为昨天我不知道获取当前页面的语法,所以我在支持bean上使用了简单的验证。

    int maxList = 0; 
    int list = 23;
    pageIndex = list / 12; //12 means 12 data each page
    maxList = list % 12;
    if(maxList > 0) {
        pageIndex = pageIndex + 1;
    }

    pageIndexString = pageIndex + ""; //convert to string

在我的xhtml上:

<script>

                        var i = 0;
                        var pageIndexString = #{yourBackingBean.pageIndexString};
                        function timer(){
                            var myVar = setInterval(myTimer, 5000); //means 5second
                        }

                        function myTimer() {
                            if(i != pageIndexString){
                                PF('datagridWid').getPaginator().setPage(i+1);
                                i++;
                            }
                            else if(i == pageIndexString){
                                PF('datagridWid').getPaginator().setPage(0);
                                i = 0;
                            }
                        }
                        window.onload = timer;
</script>