2013-02-06 38 views
1

我正在使用帶有篩選器的GXT網格(確切地說StoreFilterField)。 問題是,當過濾器發生變化時(用戶鍵入某些東西或清除它),網格刷新需要很長時間。Sencha GXT網格過濾器速度很慢。我可以讓他們快點嗎?

我具有1000行與列7相對小的網格。滾動工作得很好,所以我相信瀏覽器能夠快速處理它。

貌似問題是,當一個類型的文本篩選方法Grid.refresh()被調用,這使得所有行一次又一次將他們作爲一個巨大的HTML字符串。

有沒有一種方法,使之更有效率?例如,我認爲在包含未經過濾的一組行的現有html中隱藏元素會更快。

另一種方式是以某種緩存或延遲創作網格組件,但我找不到GXT電網API中的任何行緩存功能。也許我忽略了它。

您的幫助將不勝感激。

回答

2

緩存能力沒有在Grid API本身,而是在GridView找到。網格有一個可以設置的視圖屬性。

您正在使用什麼版本的GXT的?在GXT 2.x中,有稱爲BufferView的視圖變體。

從文檔:

因爲它們滾動到視圖呈現中的行。這個GridView很快就可以一次顯示多行,但它不支持普通{link @GridView}支持的所有功能,例如擴展行。

如果您正在使用GXT 3.x中,您可能需要使用LiveGridView,而不是因爲他們已刪除了BufferView

這個,你可以指定緩存的大小,滾動延遲等

我希望這有助於!

  • 保羅
+0

謝謝你的答案。我最終將LiveGridView與本地定製的緩存存儲結合使用,因此每次將所有數據保存在客戶端時都不會轉到服務器,而是利用LiveGridView同時呈現的有限數量的單元格。 – ATrubka

相關問題