我打算創建一個單元格表,顯示有關來自數據庫的聯繫人信息。 我即將展示的表格有很多行。gwt cellTable緩存在客戶端
目前我設法輕鬆顯示數據。 我唯一的問題是,當我在尋呼機中更改頁面時。 gwt一次又一次地發送數據請求,即使我已經請求過這些頁面!
我該如何讓客戶端緩存?這裏
PS是一塊的onRangeChanged代碼:
AsyncDataProvider<Contact> provider = new AsyncDataProvider<Contact>() {
@Override
protected void onRangeChanged(HasData<Contact> display) {
int start = display.getVisibleRange().getStart();
int end = start + display.getVisibleRange().getLength();
end = end >= DBHelper.size() ? DBHelper.size() : end;
List<Contact> sub = DBHelper.get(start, end);
updateRowData(start, sub);
}
};
編輯:
西班牙油條建議,我將創建一個輔助類(如DBHelper),將緩存一些結果和多數民衆的我將如何跳過數據庫訪問。這不是我想要的,我暗示有在客戶端的緩存,助手類仍然不會救我一個客戶端 - >服務器調用。
請在我的原始文章中看到我的編輯 – Urbanleg
@Urbanleg如果您只想獲取一次數據,然後遍歷檢索的數據,則必須使用「ListDataProvider」類而不是「AsyncDataProvider」。您仍然可以進行RPC調用,然後將結果發送到'ListDataProvider',它將同步處理分頁和排序。 – Churro