在实时刷新的时候数据量过大会出现滚动条。这时候需要记录滚动条的位置。只需在grid的viewConfig属性里面添加如下参数
viewConfig: {//实时刷新的时候记录滚动条的位置,让滚动条不动
onLoad : Ext.emptyFn,
listeners: {
beforerefresh : function(v) {
v.scrollTop = v.scroller.dom.scrollTop;
v.scrollHeight= v.scroller.dom.scrollHeight;
},
refresh: function(v){
v.scroller.dom.scrollTop= v.scrollTop + (v.scrollTop == 0 ? 0 : v.scroller.dom.scrollHeight -v.scrollHeight);
}
}
}
如果全部grid都想实现这个功能可以这样
Ext.override(Ext.grid.GridView, {
scrollTop : function() {
this.scroller.dom.scrollTop= 0;
this.scroller.dom.scrollLeft= 0;
},
scrollToTop : Ext.emptyFn
});