使用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