- 浏览: 3446156 次
- 性别:
- 来自: 苏州
文章分类
最新评论
-
sonichy:
Qt5改动很多,要改改了。
基于QItemDelegate的例子1 SpinBoxDelegate -
我的主页6:
楼主,2.2子查询的分页方式:SELECT * FROM ar ...
Mysql 分页语句Limit用法 -
liguoqi:
非常感谢楼主的用心指导,工具以及图片例子都提供了 赞!
两款免费DCIOM 图像浏览软件介绍和DICOM图像例子供下载 -
liguoqi:
问下这个图片怎么解压损坏呀
两款免费DCIOM 图像浏览软件介绍和DICOM图像例子供下载 -
liguoqi:
楼主讲解的非常详细,还附带工具和图片例子,非常感谢
两款免费DCIOM 图像浏览软件介绍和DICOM图像例子供下载
在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") //设置仓库实际状态为0 e.record.set("REAL_STATE", "0"); //仓库实际状态为0 else if(e.record.get("STATE")=="0") //设置仓库实际状态为1 e.record.set("REAL_STATE", "1"); else e.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
界面:
评论
3 楼
spring1118
2011-12-28
贤饭?
2 楼
qimo601
2010-10-08
天涯海角tour 写道
你好,你的这个CheckBox控件怎么用啊,你写的我看不懂,我没有接触过extjs不知道怎么样引用 到项目中,你说的 “然后,在editorgrid组件中引入插件plugins:checkColumn(必须的)。
”editorgrid组件在哪啊,而且我在extjs中每个js文件中没有找到Ext.grid.CheckColumn,它在哪定义的啊,还有“以下是Ext.grid.CheckColu扩展类:
”把它单独写成一个JS吗,在我的项目中, var checkColumn = new Ext.grid.CheckColumn({
header: 'Indoor',
dataIndex: 'indoor',
width: 55
});一直报缺少对象的错,
”editorgrid组件在哪啊,而且我在extjs中每个js文件中没有找到Ext.grid.CheckColumn,它在哪定义的啊,还有“以下是Ext.grid.CheckColu扩展类:
”把它单独写成一个JS吗,在我的项目中, var checkColumn = new Ext.grid.CheckColumn({
header: 'Indoor',
dataIndex: 'indoor',
width: 55
});一直报缺少对象的错,
EXTJS中不自带CheckBox控件的,我第一行就告诉你了,是从网上自己下的一个CheckColu扩展类。第一段JS代码是它的源代码。你在自己工程中直接调用就不会出现缺少对象这个错了。请结合一下我下面的参考文章。
1 楼
天涯海角tour
2010-09-18
你好,你的这个CheckBox控件怎么用啊,你写的我看不懂,我没有接触过extjs不知道怎么样引用 到项目中,你说的 “然后,在editorgrid组件中引入插件plugins:checkColumn(必须的)。
”editorgrid组件在哪啊,而且我在extjs中每个js文件中没有找到Ext.grid.CheckColumn,它在哪定义的啊,还有“以下是Ext.grid.CheckColu扩展类:
”把它单独写成一个JS吗,在我的项目中, var checkColumn = new Ext.grid.CheckColumn({
header: 'Indoor',
dataIndex: 'indoor',
width: 55
});一直报缺少对象的错,
”editorgrid组件在哪啊,而且我在extjs中每个js文件中没有找到Ext.grid.CheckColumn,它在哪定义的啊,还有“以下是Ext.grid.CheckColu扩展类:
”把它单独写成一个JS吗,在我的项目中, var checkColumn = new Ext.grid.CheckColumn({
header: 'Indoor',
dataIndex: 'indoor',
width: 55
});一直报缺少对象的错,
发表评论
-
更换博客地址告示
2012-12-03 18:56 2591更换博客地址告示 ... -
收款主页设计
2012-11-17 11:01 0文档信息 版权声明:自由转载-非商用-非衍生- ... -
10个精选国外免费空间
2012-11-12 16:06 6329最近想申请一个免费空间,发现国内基本没有。。。。唉。 ... -
长光所考博信息
2012-09-24 14:25 2699总结一下,以后有个奔头。。搞科研的收入太微薄了。唉。。。 ... -
The file contains a character that cannot be represented in the current code pag
2012-08-17 10:17 6325vs2008 打开网上下载的Qt项目,结果编译时无法通过,出 ... -
64位操作系统,编译程序出现X86和X64的冲突
2012-08-16 20:10 0问题1:1>QtGuid4.lib(QtGuid4.d ... -
通用日志系统开发【转】
2012-08-06 15:20 42411.前言 中大型软件项 ... -
U盘制作WinPE系统【转】
2012-07-27 11:36 2523不带光驱的笔记本的网友和没有光驱的台式机的网友如何安 ... -
博客文章标题横线框
2012-06-28 11:47 0分析 ... -
触摸屏介绍
2012-05-30 16:03 1980有一个项目,需要购买一台触摸屏设备。 了解一下触摸屏的基础知 ... -
有谁知道高速大数据量无线传输技术
2012-05-28 11:53 2506有谁知道高速大数据量无线传输技术? 想了解一下无线传输 ... -
自由在博客里插入广告,有钱你不赚吗???
2012-05-25 18:37 01、一直在ITeye里写技 ... -
自由在博客里插入广告,有钱你不赚吗???
2012-05-25 15:22 6632其实这些广告也没啥意 ... -
支持javascript的博客汇总
2012-05-25 09:27 2485写这篇文章的目的主要是为想在公共博客上布置广告的朋友提供一些参 ... -
支持js代码的博客有哪些?
2012-05-25 09:20 32981、支持js代码的博客谷歌博客, 雅虎奇摩,博客大巴,jimd ... -
VS2008无法下断点调试的原因
2012-05-02 11:18 19327VS2008单步调试时出错,原来的断点处显示一个空心圆加 ... -
VS2008无法下断点调试的若干解决办法
2012-05-02 09:19 4040我使用了第一种方法,暂时恢复了断点调试。 调试程 ... -
【转】串口通讯—通信协议
2012-02-29 00:11 2640转:http://cs.nju.edu.cn/y ... -
Ankhsvn 改名出错
2012-02-16 18:32 3174总结只改变文件名字大小写的最终解决方法。 这种只需要改 ... -
C++接口实现总结
2012-02-04 14:51 32921网上的例子,稍微有点错误。我给更改一下,附件上有源码!如有错误 ...
相关推荐
通常,这样的修复代码会包括对上述策略的实现,比如使用`Ext.util.CSS`来修改样式,或者在`beforeedit`和`afteredit`事件中处理滚动条和视图的位置。为了进一步了解并应用这个修复,我们需要查看`bugfix.js`的内容,...
3. 提交更改:编辑完成后,EditorGridPanel会触发相应的事件,如afteredit,开发者可以通过监听这些事件来处理数据更新。 四、使用步骤 1. 创建Store:定义数据模型并加载数据。 2. 定义列模型:配置每列的字段名、...
为了解决这个问题,我们需要在ColumnModel中对包含ComboBox的列使用`renderer`属性来自定义单元格的渲染方式。 以下是一个示例代码片段,展示了如何解决这个问题: ```javascript // 部门列表的store var ...
NULL 博文链接:https://zxf-noimp.iteye.com/blog/629629
因为项目的需求,实现一个可以编辑的tree,在网上找了一个牛人写的控件.Ext.ux.maximgb.tg.EditorGridPanel 把源码下载下来以后 不能运行,自己根据给出的列子,另写了一个小程序.不过并没有与数据库交互.
在EXT JS框架中,"ext 读取xml 可编辑grid"是一个常见的需求,涉及到的主要知识点包括EXT的数据对象、EditorGridPanel的使用以及EXT对XML数据格式的支持。下面将详细阐述这些内容。 EXT JS是一个强大的JavaScript库...
在示例代码中,可以看到如何创建一个包含可编辑列的`EditorGridPanel`,并使用`Ext.form.TextField`作为编辑器。`formatDate`函数用于格式化日期,`CheckboxSelectionModel`用于设置多选模式,而`CheckColumn`则用于...
模板中包含合计值的占位符,这些占位符将在数据计算完成后被替换为真实的合计值。 4. **插入合计行到DOM**: - 在自定义View的`onRender`方法中,找到GridPanel的DOM元素,然后根据模板创建合计行的DOM结构,并将...
如果没有设置,则使用列索引与数据记录中的字段索引进行匹配。 4. **width** - **描述**:定义列的宽度。 5. **align** - **描述**:设置列内数据的对齐方式。 6. **hidden/fixed/menuDisabled/resizable/...
对于ExtJS EditorGridPanel中ComboBox列的显示问题,可能是因为数据没有正确绑定或格式化问题,确保`store`已加载数据,并且在`renderer`函数中正确显示数据。 至于回显问题,即在编辑时显示已有的数据,需要确保在...
文件"Extjs利用服务器实现Excel数据导入editorgridpanel中显示_寒冰_新浪博客.mht"可能讲解了如何将Excel 文件的数据导入到EXTJS 的EditorGridPanel 中。导入过程一般包括: 1. 用户上传Excel 文件,EXTJS 通过...
在典型的ExtJS应用程序中,你会看到很多标准的模式,如页面加载时通过Ext.onReady事件启动应用程序,以及使用Ext.application定义应用程序的启动入口。ExtJS程序启动后,会创建主窗口或其他容器组件,然后通过添加各...
内容包含: 1)ExtJS简介 2)获得ExtJS 3)应用ExtJS 4)布局概述 5)ExtJS版的Hello 6)Ext类库简介 7)Border区域布局 8)ExtJS的组件 9)Column列布局 10)组件的使用 11)Fit布局 12)Form布局 13)组件的配置属性 14)...
本文将深入探讨EXT JS中的Edit Tree Grid及其核心概念、使用方法和C#后端支持。 首先,EXT JS的TreePanel提供了树状数据的展示,每个节点可以展开或折叠,展示其子节点。而EditorGridPanel则允许用户对表格中的数据...
3. 事件处理:使用EXTJS的事件处理机制,避免使用原生JavaScript事件处理机制。 EXTJS是一个功能强大且灵活的JavaScript框架,用于构建RIA应用程序。本文档对EXTJS的基本概念、控件、工具和实践经验进行了讲解,...
开发者可能会使用`Ext.grid.EditorGridPanel`,并为每个列定义一个`editor`属性来启用单元格编辑。同时,Store的配置可能包括数据源(即"data"),以及定义字段的`fields`属性。 在深入理解这个demo的过程中,你...
文档中提到的`ExtJS实现Excel导出.doc`和相关MHT文件可能包含如何使用ExtJS的组件,如`grid`或`editorgridpanel`,结合服务器端功能实现Excel数据导出的教程。ExtJS提供了内置的导出功能,可以通过配置实现数据的...
- GridPanel通过`ColumnModel`定义列的显示和行为,包括列宽、对齐方式、是否可编辑等。 - 表格中的行可以被选中,通过监听`cellclick`或`rowselect`事件,可以响应用户的选择操作。 - GridPanel的编辑功能通常...
右键菜单的资料,代码已经详细描写。请仿照文件中所描述即可使用,不限于EXT4.0以上版本使用。