2012-06-16 24 views
1

我最近它得到的地方,我可以用遊標檢索數據點(見鏈接:GWT pass Objectify Cursor from Server to Client with RequestFactory and show more pages in DataGridGWT在DataGrid中設置尋呼機在使用如何物化光標

什麼我遇到了 - 當我得到的數據包在客戶端它只有25列表 - 當我去設置DataGrid中的數據時,底部的尋呼機顯示顯示25的1-25,顯然我剛剛檢索的數據庫中有更多的記錄25

pager.setRangeLimited(false); 
:他們在時間光標

我試圖做的是設置以下的

不幸的是 - 雖然這可以讓我從數據庫中選擇更多頁面 - 它實際上從來沒有給我數據庫中的數量。我想知道的是,如果我在服務器端使用光標 - 我如何在尋呼機中設置總數?

我想要做的一件事就是簡單地向我返回的ListCursor包裝器對象添加一個總計數變量 - 不幸的是,這將需要如果我要求它與空初始查詢我經歷並獲得總計數時間 - 這似乎是非常低效的 - 然後一旦我得到這回,我仍然不知道如何實際告訴尋呼機,更多的數據可用比我實際給它。

任何幫助將非常感激

回答

0

您在尋呼機組的總數告訴尋呼機,該行數是準確的:

asyncDataProvider.updateRowCount(int size, boolean exact); 

如果你不告訴尋呼機行數是確切的,那麼你顯然不能導航到最後一頁。

核心問題是如何獲得總行數。查詢行數確實非常低效。更好的辦法是在跟蹤記錄數量的數據存儲中保留一個計數器。這也可能是非常低效的,因爲你有這個計數器同步/交易的增量。

在我的項目中,我沒有跟蹤確切的行數,但我提供了靈活的搜索選項。