// Override Ext.grid.Scroller object
// to workaround ExtJS bug EXTJSIV-3770
// more info at http://www.sencha.com/forum/showthread.php?142473-Bug-Tree-Grid-Scroller-Stops-Working
Ext.override(Ext.grid.Scroller, {
afterRender: function() {
var me = this;
me.callParent();
me.mon(me.scrollEl, 'scroll', me.onElScroll, me);
Ext.cache[me.el.id].skipGarbageCollection = true;
// add another scroll event listener to check, if main listeners is active
$(me.scrollEl.dom).scroll({scope: me}, me.onElScrollCheck);
},
// flag to check, if main listeners is active
wasScrolled: false,
// synchronize the scroller with the bound gridviews
onElScroll: function(event, target) {
this.wasScrolled = true; // change flag -> show that listener is alive
this.fireEvent('bodyscroll', event, target);
},
// executes just after main scroll event listener and check flag state
onElScrollCheck: function(event, target) {
var me = event.data.scope;
if (!me.wasScrolled)
// Achtung! Event listener was disappeared, so we'll add it again
me.mon(me.scrollEl, 'scroll', me.onElScroll, me);
me.wasScrolled = false; // change flag to initial value
}
});
Ext.override(Ext.grid.Scroller, {
afterRender: function() {
var me = this;
me.callParent();
me.mon(me.scrollEl, 'scroll', me.onElScroll, me);
Ext.cache[me.el.id].skipGarbageCollection = true;
// add another scroll event listener to check, if main listeners is active
Ext.EventManager.addListener(me.scrollEl, 'scroll', me.onElScrollCheck, me);
// ensure this listener doesn't get removed
Ext.cache[me.scrollEl.id].skipGarbageCollection = true;
},
// flag to check, if main listeners is active
wasScrolled: false,
// synchronize the scroller with the bound gridviews
onElScroll: function(event, target) {
this.wasScrolled = true; // change flag -> show that listener is alive
this.fireEvent('bodyscroll', event, target);
},
// executes just after main scroll event listener and check flag state
onElScrollCheck: function(event, target, options) {
var me = this;
if (!me.wasScrolled) {
// Achtung! Event listener was disappeared, so we'll add it again
me.mon(me.scrollEl, 'scroll', me.onElScroll, me);
}
me.wasScrolled = false; // change flag to initial value
}
});
分享到:
相关推荐
第二十讲:extjs4.0的高级组件tree+grid整合案例补充 第二十一讲:extjs4.0的高级组件form上 第二十二讲:extjs4.0的高级组件form中 第二十三讲:extjs4.0的高级组件form下 第二十四讲:extjs4.0的高级组件form...
第十八讲:extjs4.0的高级组件tree+grid整合案例上 第十九讲:extjs4.0的高级组件tree+grid整合案例下 第二十讲:extjs4.0的高级组件tree+grid整合案例补充 第二十一讲:extjs4.0的高级组件form上 第二十二讲:extjs...
ExtJs4.0官方版本 ExtJs4.0官方版本 ExtJs4.0官方版本
EXTJS4.0视频教程 30集 下载地址 另有EXTJS4.0视频教程配套代码 http://download.csdn.net/detail/sammy85/4421061
ExtJs4.0 手册中文版 ExtJs4.0 中文文档
第十八讲:extjs4.0的高级组件tree+grid整合案例上 第十九讲:extjs4.0的高级组件tree+grid整合案例下 第二十讲:extjs4.0的高级组件tree+grid整合案例补充 第二十一讲:extjs4.0的高级组件form上 第二十二讲:extjs...
ExtJs4.0入门教程,详细介绍ExtJs4.0。
Extjs4.0 实现列隐藏,显示和滚动条动态加载,可以直接跑的代码
extJs4.0 开发手册源码 于之前的extjs4.0开发手册配套
ExtJS4.0开发笔记
extjs4.0开发有助于了解extjs4.0技术的解释,适合入门者
extjs4.0开发人员以及学习可以下载参考
一款很好的适合Extjs4.0初学者学习的word文档,示例加上简单的标注说明,使你很快对Extjs4.0进入入门阶段,不可多得的文档,值得下载
最新Extjs4.0 所有文件,含案例,帮助文档,源代码
Extjs 4.0中文版API
extjs4.0+extdesign+fullsource+extjs.jsb2的整套开发.
可二次开发Extjs4.0通用后台管理系统源码完整大型项目。数据库在项目里面的一个sql文件里面 1、采用Spring MVC的静态加载缓存功能,在首页将Javascript文件、CSS文件和图片等静态资源文件加载进来放进内存,极大提高...
ExtJS4.0中文API chm版:包括ExtJS4,js,jquery 网页版:全面的详细的ExtJS4.0 api
ExtJS4.0 中文版帮助文档 chm下载
ExtJS4.0-API Ext4.0-API Ext4 ExtJS4 API 学EXTJS4的好东西...