注意:EXT4.2版本
方法是记录滚动条的位置。所以要在grid的viewConfig属性里面添加如下参数
viewConfig:{onLoad : Ext.emptyFn,
listeners : {
beforerefresh : function(v) {
v.scrollTop = v.el.dom.scrollTop;
v.scrollHeight = v.el.dom.scrollHeight;
},
refresh : function(v) {
v.el.dom.scrollTop = v.scrollTop
+ (v.scrollTop == 0
? 0
: v.el.dom.scrollHeight
- v.scrollHeight);
}
}
}
首先,以上代码属性的配置是绝对没有问题的,如果加过以上参数属性,刷新Grid后依旧滚动条滚动到顶部,再检查下加载Grid数据时的代码,加载数据时不要removeAl数据。。。。
如果全部grid都想实现这个功能可以这样,以下代码(暂未实现:我不知道放哪里,尝试了一些js文件内放置,没有实现其功能)
Ext.override(Ext.grid.GridView, {
scrollTop : function() {
this.el.dom.scrollTop = 0;
this.el.dom.scrollLeft = 0;
},
scrollToTop : Ext.emptyFn
});