2013-04-26 48 views
3

我需要的數據表條件分頁,也就是說,需要添加分頁僅當記錄數> 5說條件分頁上的DataTable

當包含在數據表中的分頁的原因是它佔據了屏幕上一排的空間。在最大的情況下,行數僅爲5。所以,目的是爲這些大多數情況保存屏幕空間。

回答

2

說你已經有了這個dataTable(從showcase):

<p:dataTable id="dataTable" var="car" value="#{tableBean.cars}" 
      paginator="true" rows="10" 
      paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}" 
      rowsPerPageTemplate="5,10,15"> 

你可以打開分頁程序有條件斷像這樣:

<p:dataTable id="dataTable" var="car" value="#{tableBean.cars}" 
      paginator="#{tableBean.exceedsFive}" rows="10" 
      paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}" 
      rowsPerPageTemplate="5,10,15"> 

豆子:

public boolean isExceedsFive() { 
    return cars.size() > 5; 
} 

請注意EL參考文獻paginator=""

+0

謝謝:)它是如此直截了當的一些沒有點擊。謝謝:) – 2013-04-26 10:26:05

+0

不客氣Shikha。有時候,你只是在尋找困難的方式,發生在我身上:) – Aquillo 2013-04-26 10:29:07

13

根據primefaces'文檔:

集dataTable的分頁程序是這樣

paginator="true" rows="5" paginatorAlwaysVisible="false" 

- 的分頁程序將是可見的只是,如果有超過5個表中的記錄。

+0

+1根據文檔,你是對的。接受這個最好的答案取決於OP,這似乎是正確的。 – Aquillo 2013-04-26 11:25:18

+0

當然,這個答案應該是列表中的第一個。 – Aditzu 2015-03-09 15:47:07

+0

它看起來像已被更改爲'[alwaysShowPaginator] =「false」'https://www.primefaces.org/primeng/#/datatable – saschwarz 2017-11-28 20:25:42