EditorGridPanel 中使用checkbox列,并包含afterEdit事件
在EditorGridPanel中无法使用默认的CheckBox控件,因此采用第三方扩展的控件实现,
以下是Ext.grid.CheckColu扩展类:
Ext.grid.CheckColumn = function(config){Ext.apply(this, config);if (!this.id) {this.id = Ext.id();}this.renderer = this.renderer.createDelegate(this); };Ext.grid.CheckColumn.prototype = {init: function(grid){this.grid = grid;this.grid.on('render', function(){var view = this.grid.getView();view.mainBody.on('mousedown', this.onMouseDown, this);}, this);},onMouseDown: function(e, t){if (t.id == this.id) {e.stopEvent();var index = this.grid.getView().findRowIndex(t);//行号var cindex = this.grid.getView().findCellIndex(t);//列好var record = this.grid.store.getAt(index);//行记录var field = this.grid.colModel.getDataIndex(cindex);//列名var value = !record.data[this.dataIndex];//点击后,获得当前checkbox值的相反值record.set(this.dataIndex, value);//设定checkbox被选择时候的值//事件的参数var e = {grid: this.grid,record: record,field: field, originalValue: record.data[this.dataIndex],value: !record.data[this.dataIndex],row: index,column: cindex};//afterEdit事件 this.grid.fireEvent("afteredit", e); //申请事件,参数 }},renderer: function(v, p, record){p.css += ' x-grid3-check-col-td';return '<div id="' + this.id + '" class="x-grid3-check-col' + (v ? '-on' : '') + '"> </div>';} };
在工程中使用:
首先创建对象
var checkColumn = new Ext.grid.CheckColumn({ header: "", dataIndex: 'indoor', width: 55 });
然后,在editorgrid组件中引入插件plugins:checkColumn(必须的)。
创建cm加入checkColumn:
cm: new Ext.grid.ColumnModel( [ checkColumn , { id: 'min' ,header: '最小值' ,dataIndex: 'min' ,editor: new Ext.form.NumberField({ allowBlank: false }) )
创建Record对象也要加入相关内容:
var Record = Ext.data.Record.create([ {name: 'indoor', type: 'bool'} ,{name: 'min'} ,{name: 'max'} ,{name: 'alarmType'} ]);
最后创建Record:
var newRecord = new Record({indoor: false,min: min, max: max, alarmType: '轻微'});
前台如果调用afterEdit事件
//编辑后触发的事件,有异常,自动选中checkbox function afterEdit(e){ //如果是CHECK_EXCEPTION列if (e.field == "CHECK_EXCEPTION") {//checkbox如果被选中if (e.record.get("CHECK_EXCEPTION") == true) { //仓库系统状态为1 if(e.record.get("STATE")=="1")//设置仓库实际状态为0e.record.set("REAL_STATE", "0");//仓库实际状态为0else if(e.record.get("STATE")=="0")//设置仓库实际状态为1e.record.set("REAL_STATE", "1");elsee.record.set("REAL_STATE", "");}//checkbox如果被取消else if(e.record.get("CHECK_EXCEPTION") == false){ e.record.set("REAL_STATE", ""); }} }
参考文章三篇:
EXT EditorGridPanel 中使用Ext.grid.CheckColumn (用来创建checkbox列)
http://blog.csdn.net/davidxj/archive/2009/04/06/4052348.aspx
Extjs,Ext.grid.CheckColumn 列修正版 (这个afterEdit例子不太好用)
http://blog.csdn.net/phker/archive/2009/06/25/4294241.aspx
Ext.grid.CheckColumn问题 (从这篇获得afterEidt例子)
http://www.vifir.com/bbs/html/20080722/1736736.html
界面:
EditorGridPanel 中使用checkbox列,并包含afterEdit事件相关推荐
- C# 怎样判断 datagridview 中的checkbox列是否被选中
开发(winform)时碰到这个问题 C# 怎样判断 datagridview 中的checkbox列是否被选中,错误原因都C#对类型判断相当严格,为了避免大家以后多走弯路,把我的思路和大家说一下,希 ...
- pandas基于dataframe字符串数据列不包含特定字符串来筛选dataframe中的数据行(rows where values do not contain substring)
pandas基于dataframe字符串数据列不包含(not contains)特定字符串来筛选dataframe中的数据行(rows where values do not contain subs ...
- pandas使用np.where函数计算返回dataframe中指定数据列包含缺失值的行索引列表list
pandas使用np.where函数计算返回dataframe中指定数据列包含缺失值的行索引列表list(index of rows with missing values in dataframe ...
- C# winform单元格的formatted值的类型错误 DataGridView中CheckBox列运行时候System.FormatException异常
C# winform单元格的formatted值的类型错误 DataGridView中CheckBox列运行时候System.FormatException异常 参考文章: (1)C# winform ...
- Extjs EditorGridPanel中ComboBox列的显示问题
EditorGridPanel中嵌入ComboBox通常不会正常显示ComboBox的store中本想显示字段,而是显示的EditorGridPanel中 store的dataindex指定的字段内容 ...
- 选择列表中的列……无效,因为该列没有包含在聚合函数或 GROUP BY 子句中
今天用SQL Server尝试实现一个SQL语句的时候,报了如标题所示的错误,通过在百度里面搜索,并亲自动手实现,终于发现问题所在,现在把它记录下来. 语句如下: select [OrderID],[ ...
- GROUP BY 子句中 选择列表中的列无效,因为该列没有包含在聚合函数或
T-SQL核心语句形式: SELECT --指定要选择的列或行及其限定 [INTO ] --INTO子句,指定结果存入新表 FROM --FROM子句,指定表或视图 [W ...
- EXCEL中筛选一列数据中所包含的某些数字,返回它前面的序号
EXCEL中筛选一列数据中包含某些数字.返回它前面的序号.(0x040403为要含的数字) 思想是将所要查找的内容替换为一串很长的字符串,用长度区分它们 在C2单元格中键入 =IF(LEN(SUBST ...
- 选择列表中的列 '.......' 无效,因为该列没有包含在聚合函数或 GROUP BY 子句中。
错误:消息 8120,级别 16,状态 1,第 51 行 选择列表中的列 'Employee.EmployeeID' 无效,因为该列没有包含在聚合函数或 GROUP BY 子句中. 题目:查询最低收入 ...
最新文章
- 《2019人工智能发展报告》出炉
- [Linux] 批量添加用户
- c++实现sscom串口助手循环发送_串口通讯你真的会了吗?不妨看看这些经验
- modelMapper.map的一个使用例子
- php-fpm的重启/关闭
- 控制台ui_设计下一代控制台UI
- python删除数据库_用Python删除Cosmos数据库文档
- Could not load driverClass ${jdbc.driver}
- android 透明度_Android智能视图翻转器
- (转载)C# Process.Kill() 拒绝访问(Access Denied) 的解决方案
- Java compiler level does not match the version of the installed Java project facet.问题
- 第四章——权限提升分析及防御
- 3.21 Refused Bequest 被拒绝的馈赠
- QQ空间官方账号被黑产利用漏洞分析
- zheng项目新建一个module学习学习
- 台湾中华大学-田庆诚教授-射频放大器-观看笔记 1
- 【编译原理】第五章 语法制导翻译
- 分析5 中值定理与Taylor公式
- stm32驱动NRF24L01_原理+代码解析
- python 爬虫request ssl_Python request SSL证书问题
热门文章
- [源码和文档分享]基于C#和MYSQL数据库实现的课程自动考试系统
- 计算机网络 chapter3数据链路层
- 操作系统中死锁的概念
- [Java2 入门经典]第6章 类的扩展与继承
- Developer Express 之 XtraReport如何动态绑定数据
- Devpress.XtraGrid.GridControl.GridView属性
- 华为RH2285H V2设备管理口白屏的解决方法
- 打包Spring Boot应用
- fstab自动挂载_Linux系统挂载硬盘详解
- 小米盒子4用u盘导入html文件格式,最新图文教程:小米盒子怎么用U盘安装第三方应用...