使用EXT Grid顯示實時數據。網格每秒刷新一次。它在每次刷新時滾動到頂部,直到我覆蓋scrollToTop函數。EXT Grid重新加載時掛起
Ext.override(Ext.grid.GridView, {
scrollToTop: Ext.emptyFn
});
然而,它仍然掛起(防止滾動)一個非常重要的時間。我怎樣才能擺脫困境?
使用EXT Grid顯示實時數據。網格每秒刷新一次。它在每次刷新時滾動到頂部,直到我覆蓋scrollToTop函數。EXT Grid重新加載時掛起
Ext.override(Ext.grid.GridView, {
scrollToTop: Ext.emptyFn
});
然而,它仍然掛起(防止滾動)一個非常重要的時間。我怎樣才能擺脫困境?
很明顯,網格將花費一些時間非常重要的400行數據。您可以嘗試通過儘可能減少網格標記(無花哨的渲染器等)來減少渲染工作負載,但最好的辦法可能是等待ExtJS version 4(據稱提供a huge boost to grid performance),或者如果您願意使用插件,看看Ext.ux.Livegrid。
就像這樣:
function OrderInfoLoad() {
var scrollTop = Efs.getExt("ordergrid").getView().scroller.dom.scrollTop;
var scrollHeight = Efs.getExt("ordergrid").getView().scroller.dom.scrollHeight;
Efs.Common.ajax("../sysadmin/baseRefWeb.aspx?method=CarManage_Order&pid=0", "", function (succ, response, options) {
if (succ) { // 是否成功
var xmlReturnDoc = response.responseXML;
Efs.getExt("ordergrid").getStore().loadData(xmlReturnDoc);
Efs.getExt("ordergrid").getView().scroller.dom.scrollTop = scrollTop
+ (scrollTop == 0
? 0
: Efs.getExt("ordergrid").getView().scroller.dom.scrollHeight
- scrollHeight);
}
});
}
你應該記住滾動和重新加載它。
每次載入多少條記錄?什麼瀏覽器和ExtJS的版本? – JamesHalsall 2011-02-23 14:28:13
記錄:400行,15列。最新的生產EXT(3.3我認爲)。 Chrome瀏覽器 – Jim 2011-02-23 14:50:29
400行是很多數據,如果你檢查螢火蟲gridload的響應,將它粘貼到一個文本文件中,看看該文件的大小有多大?如果可能,我會盡量減少你正在加載的行數 – JamesHalsall 2011-02-23 15:06:18