2016-07-22 37 views
0
<p:dataTable 
      styleClass="wr_datatable" 
      id="study_tab" 
      paginatorPosition="bottom" 
      var="datas" 
      value="#{datasBean.listDatas}" 
      widgetVar="dataTable" 
      emptyMessage="No data found. Please change the search criteria above." 
      paginator="true" 
      selection="#{dataBean.selectedData}" 
      rowKey="#{datas.data_pk}" 
      selectionMode="single" 
      rowIndexVar="indexvar" 
      draggableColumns="true" 
      resizableColumns="true" 
      paginatorTemplate="{CurrentPageReport} 
      {FirstPageLink} 
      {PreviousPageLink} 
      {PageLinks} 
      {NextPageLink} 
      {LastPageLink} 
      {RowsPerPageDropdown}" 
      rows="10" 
      rowsPerPageTemplate="5,10,15,20" 

我設置了我的表格數據結構視圖像上面一樣。PrimeFaces rowsperpagetemplate

我可以使用下面的代碼獲取當前頁:

(PF('dataTable').paginator.getCurrentPage() 

我只是想知道我怎麼能得到primefaces rowpagetemplate或在我的JavaScript({RowsPerPageDropdown}動態行進行精確?

回答

0

我想我找到了解決辦法。它看起來像一個黑客。 想知道是否有人會以不同方式走近它?

function getSelectedPaginationValue() { 
return $('#primefacesSelectID').val(); 
    } 

    function selectme(x) { 

    if (PF('dataTable').paginator.getCurrentPage() >0){ 
    var row_number = x - getSelectedPaginationValue() * PF('dataTable').paginator.getCurrentPage(); 
    PF('dataTable').unselectAllRows(); 
    PF('dataTable').selectRow((row_number)); 

    } else { 
    var row_number = x; 
    PF('dataTable').unselectAllRows(); 
    PF('dataTable').selectRow((row_number)); 
    } 
    } 
2

你可以使用PF('widgetVar').getPaginator().getRows()獲得當前的行數,它應該與當前的rowsPerPage值匹配。