使用EXT网格显示实时数据。网格每秒刷新一次。它在每次刷新时都滚动到顶部,直到我覆盖了scrollToTop函数。
Ext.override(Ext.grid.GridView, {
scrollToTop: Ext.emptyFn
});
然而,它仍然会挂起(阻止滚动)非常重要的时间。我怎样才能摆脱困境?
答案 0 :(得分:1)
显然,网格将花费一些非常重要的时间来渲染400行数据。您可以尝试通过使网格标记尽可能轻(无花哨的渲染器等)来减少渲染工作量,但最好的选择可能是等待ExtJS version 4(据称提供a huge boost to grid performance) ,或者如果您愿意使用插件,请查看Ext.ux.Livegrid。
答案 1 :(得分:0)
就像这样:
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);
}
});
}
你应该记住滚动并重新加载它。