给Extjs2.x GridPanel添加goup系方法
说明:Extjs3.x以后,GridPanel添加了groupclick等方法。
本例实现了给Extjs2.x的GridPanel添加groupclick等方法的解决方案。
思路:
1. 为自定义的gridpanel对象添加自定义事件,例如:groupclick。
2. 重写GroupingView的鼠标处理事件(renderUI),对分组的header的鼠标事件进行拦截。
3. 为自定义的gridpanel对象添加groupclick事件的具体方法。
主要代码如下:
1.重写部分:
Ext.override(Ext.grid.GroupingView, {
renderUI: function () {
Ext.grid.GroupingView.superclass.renderUI.call(this);
this.grid.processEvent = this.grid.processEvent.createInterceptor(this.processEvent, this);
this.mainBody.on('mousedown', this.interceptMouse, this);
if (this.enableGroupingMenu && this.hmenu) {
this.hmenu.add('-', {
itemId: 'groupBy',
text: this.groupByText,
handler: this.onGroupByClick,
scope: this,
iconCls: 'x-group-by-icon'
});
if (this.enableNoGroups) {
this.hmenu.add({
itemId: 'showGroups',
text: this.showGroupsText,
checked: true,
checkHandler: this.onShowGroupsClick,
scope: this
});
}
this.hmenu.on('beforeshow', this.beforeMenuShow, this);
}
},
// private
processEvent: function (name, e) {
var hd = e.getTarget('.x-grid-group-hd', this.mainBody);
if (hd) {
var groupField = this.getGroupField();
var idPrefix = this.grid.getGridEl().id + '-gp-' + groupField + '-';
var groupValue = hd.id.substring(idPrefix.length);
var groupValue = groupValue.substring(0, groupValue.lastIndexOf('-'));
if (groupValue) {
this.grid.fireEvent('group' + name, this.grid, groupField, groupValue, e);
}
}
}
});
2.gridpanel部分:
this.addEvents({//加入自定义事件
"groupclick": true
});
this.on('groupclick', function (grid, groupField, groupValue, e) {
// do something...
});
转载于:https://blog.51cto.com/wangyuelucky/1180672
给Extjs2.x GridPanel添加goup系方法相关推荐
- Extjs中给同一个GridPanel中的事件添加参数的方法
Extjs中给同一个GridPanel中的事件添加参数的方法: this.isUse = new Ext.Action({ text:'启用', sco ...
- linux下添加路由的方法
Linux中增加软路由的两种方法 第一种: route add -net 172.16.6.0 netmask 255.255.255.0 gw 172.16.2.254 dev eth0 /* 增加 ...
- linux服务器怎么添加路由,linux系统中添加路由的方法
linux系统中添加路由的方法 发布时间:2020-06-17 11:38:59 来源:亿速云 阅读:95 作者:Leah 这篇文章将为大家详细讲解有关linux系统中添加路由的方法,小编觉得挺实用的 ...
- 深度增强学习(DRL)漫谈 - 信赖域(Trust Region)系方法
一.背景 深度学习的兴起让增强学习这个古老的机器学习分支迎来一轮复兴.它们的结合领域-深度增强学习(Deep reinforcement learning, DRL)随着在一系列极具挑战的控制实验场景 ...
- jsp ul设置滚动条_jquery实现Li滚动时滚动条自动添加样式的方法
本文实例讲述了jquery实现Li滚动时滚动条自动添加样式的方法.分享给大家供大家参考.具体如下: 这里使用jquery实现当拖动滚动条的时候,Li滚动列表中的内容会自动随滚动条变化而下移,并自动添加 ...
- 在Ubuntu 14.04 64bit中永久添加DNS的方法
DNS信息是由/etc/resolv.conf提供的,它是每次开机时,由/sbin/resolvconf生成的 /etc/resolv.conf是/run/resolvconf/resolv.conf ...
- springboot在工具类中添加service的方法,显示为空的解决方案
springboot在工具类中添加service的方法,显示为空的解决方案 参考文章: (1)springboot在工具类中添加service的方法,显示为空的解决方案 (2)https://www. ...
- Button中command后面函数添加参数解决方法
Button中command后面函数添加参数解决方法 参考文章: (1)Button中command后面函数添加参数解决方法 (2)https://www.cnblogs.com/smart-ziha ...
- python添加时间戳_Python 给某个文件名添加时间戳的方法
Python 给某个文件名添加时间戳的方法 发布时间:2020-09-20 18:25:15 来源:脚本之家 阅读:87 作者:cheney康 问题描述: 1.(先添加时间戳,再复制移动,两个文件加下 ...
最新文章
- 计算机408考研重点
- php swfupload handlers.js,swfupload使用代码说明
- java判断用户是否在某一个区域登录_Java实现QQ登录和微博第三方登录
- 【作死】更新macOS Mojave后Vagrant无法使用
- C语言再学习 -- 声明与定义
- 让CMD窗口显示中文[JAVAC输出中文错误信息乱码的解决]
- [Jsp] JSP和Servlet页面间的参数的传递和接收
- 解决PHP 中英文字符串截取出现半个字符
- sql 以a开头的所有记录_SQL开发与数据库管理笔记
- C++(15)--面向对象编程实践-欢乐斗地主(vector的花式输出)
- 收集瓶盖赢大奖(信息学奥赛一本通-T1045)
- 马云终于露面了!发表千字演讲
- C语言内建函数:__builtin_XXX
- 移动支付到底有多美?
- 开发者生态与双引擎:华为的雄心壮志!
- ios、android、h5、小程序等安卓苹果平台终端兼容问题
- [AngularJS] 插件ui-grid使用说明
- Mac下Android 反编译
- table固定表头、固定列
- 《缠中说禅》炒股经典理论
热门文章
- Matlab重新激活
- 计算机毕业设计Android的游戏资讯APP设计(源码+系统+mysql数据库+Lw文档)
- 高频高精度圆柱形音圈电机 微型VCM 直线电机模组 音圈马达
- 科学家制造迄今最低温度新纪录
- 计算机硬盘管理 3t,3T硬盘的使用方法总结与分享
- MariaDB 视图与触发器
- 码科速送同城跑腿小程序v3.0.62+前端+插件
- sed全文字符串替换
- Java+MySql+BootStrap开源项目学生宿舍管理系统
- 使用VB求解“华容道”问题