如何在p:dataGrid中创建自动分页器

时间:2016-04-24 20:30:05

标签: jsf primefaces datagrid paginator

我想自动<p:dataGrid>分页。如果不使用下一个按钮,请在几秒钟内移至下一页。

<p:dataGrid id="cars" var="of" value="#{infoBaseOfVals.listinfoBaseOf}"
    columns="2" rows="4" layout="grid" paginator="true" cellpadding="10" 
    cellspacing="20px" scrolling="false" responsive="true" type="unordered" itemType="none"  
    paginatorTemplate="Nombre OFs : #infoBaseOfVals.listinfoBaseOf.size()} OFs {CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
    rowsPerPageTemplate="2,4,8,16,24,32,40,48,56,64,72,80">

我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:2)

对于最新版本的PrimeFaces(至少6.0,但也许还有一些)你可以用一点点javascript来实现。将widgetVar属性设置为dataGrid并添加如下内容:

>ignore this
GTAGGGCGA
>ignore this
GTATACAGC
>ignore this
GTTTCTCTT
>ignore this
GTAATCAAA

对于较旧的PrimeFaces版本(如果这不起作用),请参阅其他答案

答案 1 :(得分:0)

对于早期版本的PrimeFaces,它适用于javaScript 这是剧本

var myVar = setInterval(myTimer, 5000);
function myTimer() {
    var myvar1 = myDataGrid.cfg.paginator.page;
    var myvar2 = myDataGrid.cfg.paginator.pageCount - 1;
    if(myvar1 == myvar2)
        myDataGrid.paginator.setPage(0) ;
    myDataGrid.paginator.setPage(myDataGrid.cfg.paginator.page + 1);
    }
 <p:dataGrid widgetVar="myDataGrid" id="cars" var="of" value="#infoBaseOfVals.listinfoBaseOf}"
columns="2" rows="4"paginator="true" responsive="true" itemType="none"  
 paginatorTemplate="Nombre OFs : #{infoBaseOfVals.listinfoBaseOf.size()} OFs {CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
 rowsPerPageTemplate="2,4,8,16,24"  >
 <h:outputText value="#{of.of_id}" />
 </p:dataGrid>