我有:Primefaces PAGINATE懶惰的DataTable不計排
在我的豆 <p:dataTable id="myTable" lazy="true" widgetVar="myTable" value=".." paginator="true" paginatorPosition="bottom" rows="10" ...>
<p:ajax event="page" oncomplete="myTable" />
...
</p:dataTable>
:
...
private LazyDataModel list;
...
public void search() {
list = new LazyDataModel<SomeDTO>() {
private static final long serialVersionUID = 1L;
List<SomeDTO> result = null;
@Override
public List<SomeDTO> load(int first, int pageSize, String sortField, SortOrder sortOrder, Map<String, Object> filters) {
List<SomeDTO> result = service.search(searchedName, first, pageSize);
// SOME CODE HERE FOR PAGINATION ?? BUT WHAT
return result;
}
};
// HOW TO DELETE THIS EXTRA REQUEST
list.setRowCount(service.search(searchedName));
}
我的問題是如何從結果(大小+ 1)setRowCount。我不想從數據庫中獲取數據,因爲我確信我們可以在不請求數據庫的情況下計算rowCount。
這會更新數據表。兩次。查詢被執行兩次...不是我想的。 – Kukeltje
不管先生何先生都知道,在判斷人員之前,先閱讀問題和解決方案。顯然,你不知道primefaces數據表的懶惰加載和它是如何工作的! –
首先,我不是在判斷人,我在判斷答案。雖然它可能在技術上有效,但它不是一個有效的解決方案,也不是必需的。顯而易見你說的是閱讀答案。 **我是創建了我接受的PrimeFaces補丁的人,你注意到了嗎?**我在論壇和舊版本的發行者中爲PrimeFaces數據表提供了多項其他改進建議,包括嵌套在數據表中重複一遍。我有那些在我的環境中工作了很長時間,所以我知道**延遲加載**。所以請在判斷人員之前直接獲取記錄** – Kukeltje