ext 4.2 grid刷新后 滚动条位置不变
2013-12-27 10:44
645 查看
最近开发遇到问题,每次刷新grid的store之后,总是滚动到最前边,从网上搜到的方法是
在实时刷新的时候数据量过大会出现滚动条。这时候需要记录滚动条的位置。只需在grid的viewConfig属性里面添加如下参数
Js代码
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/29/5ab4caf7123898699d969f2bc78730d5.png)
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都想实现这个功能可以这样
Js代码
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/29/5ab4caf7123898699d969f2bc78730d5.png)
Ext.override(Ext.grid.GridView, {
scrollTop : function() {
this.scroller.dom.scrollTop = 0;
this.scroller.dom.scrollLeft = 0;
},
scrollToTop : Ext.emptyFn
});
但是在ext4.2之后就不能执行了,报错说v.scroller是undefined,所有没有dom。
解决方法是换成下边这样:红色标出
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都想实现这个功能可以这样
Js代码
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/29/5ab4caf7123898699d969f2bc78730d5.png)
Ext.override(Ext.grid.GridView, {
scrollTop : function() {
this.el.dom.scrollTop = 0;
this.el.dom.scrollLeft = 0;
},
scrollToTop : Ext.emptyFn
});
在实时刷新的时候数据量过大会出现滚动条。这时候需要记录滚动条的位置。只需在grid的viewConfig属性里面添加如下参数
Js代码
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/29/5ab4caf7123898699d969f2bc78730d5.png)
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都想实现这个功能可以这样
Js代码
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/29/5ab4caf7123898699d969f2bc78730d5.png)
Ext.override(Ext.grid.GridView, {
scrollTop : function() {
this.scroller.dom.scrollTop = 0;
this.scroller.dom.scrollLeft = 0;
},
scrollToTop : Ext.emptyFn
});
但是在ext4.2之后就不能执行了,报错说v.scroller是undefined,所有没有dom。
解决方法是换成下边这样:红色标出
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都想实现这个功能可以这样
Js代码
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/29/5ab4caf7123898699d969f2bc78730d5.png)
Ext.override(Ext.grid.GridView, {
scrollTop : function() {
this.el.dom.scrollTop = 0;
this.el.dom.scrollLeft = 0;
},
scrollToTop : Ext.emptyFn
});
相关文章推荐
- Ext Grid刷新后 滚动条位置不变
- asp.net页面刷新或者回发后DIV的滚动条位置不变!(已解决)
- JS刷新页面后滚动条的位置不变
- extjs4 grid 刷新数据时不改变滚动条位置
- DIV层,刷新滚动条位置不变
- 页面刷新后的滚动条位置不变!
- asp.net页面刷新或者回发后DIV的滚动条位置不变!(转)
- javaScript刷新页面—滚动条位置不变的操作
- 页面刷新后保持滚动条的位置不变
- 页面刷新滚动条位置不变
- javascript设置网页刷新或者重新加载后滚动条的位置不变
- extjs grid 实时刷新的时候记录滚动条的位置,让滚动条不动
- asp.net页面刷新后的滚动条位置不变
- javascript设置网页刷新或者重新加载后滚动条的位置不变
- 网页刷新或者重新加载后滚动条的位置不变
- js控制 页面刷新,但滚动条位置不变 浏览器兼容
- 页面刷新或者回发后DIV的滚动条位置不变!
- 网页刷新或者重新加载后滚动条的位置不变
- Extjs GridPanel 合计功能 解决滚动条滚动问题和页面刷新滚动条回到初始位置问题。
- 网页刷新或者重新加载后滚动条的位置不变