Ext.grid.CheckColumn源码:
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.className && t.className.indexOf('x-grid3-cc-'+this.id) != -1){
e.stopEvent();
var index = this.grid.getView().findRowIndex(t);
var record = this.grid.store.getAt(index);
record.set(this.dataIndex, !record.data[this.dataIndex]);
}
},
renderer : function(v, p, record){
p.css += ' x-grid3-check-col-td';
return '<div class="x-grid3-check-col'+(v?'-on':'')+' x-grid3-cc-'+this.id+'"> </div>';
}
};
例子:
var checkColumn = new Ext.grid.CheckColumn({
header: "参加?",
dataIndex: 'flag',
width: 55
});
var cm = new Ext.grid.ColumnModel([
{header:"姓名",dataIndex:"name"},
checkColumn
]);
var store = new Ext.data.SimpleStore({
data:[["张三",true],["李四",true],["王五",true],["张三",false],["李四",false],["王五",false]],
fields:["name","flag"]
});
var grid= new Ext.grid.GridPanel({
cm:cm,
plugins:checkColumn,
store:store,
title:"选择人员"
});
new Ext.Viewport({
layout:"fit",
items:grid
})
效果:
- 大小: 3.1 KB
分享到:
相关推荐
#### 三、Ext.grid.GridPanel主要方法 1. **getColumnModel()** - 说明:获取当前表格的列模型。 2. **getSelectionModel()** - 说明:获取当前表格的选择模式。 3. **getStore()** - 说明:获取当前表格的数据...
这篇文章的标题指出这是一个关于“Ext.grid.plugin.RowEditing”的重构,版本为v1.4,发布日期为2011年9月11日。重构通常意味着代码的改进,可能涉及性能优化、错误修复或功能增强。在4.0版本中,RowEditing插件的...
本文将详细解析 `var editor = new Ext.ux.grid.RowEditor` 的用法及其相关的配置项。 #### 一、准备工作 首先,确保项目中已经包含了 RowEditor 所需的 CSS 和 JS 文件。这些文件通常位于项目的 `examples/ux` ...
以上就是关于Ext.grid.EditorGridPanel的基本介绍和使用方法。在实际开发中,你可以根据项目需求调整配置,实现更多功能,如排序、过滤、分页等。通过深入理解和实践,你将能够熟练掌握这个强大的表格编辑组件。
为了确保每次加载数据时滚动条都能正确地回到原来的位置,我们还可以通过覆盖`Ext.grid.GridView`中的方法来进一步增强功能: ```javascript Ext.override(Ext.grid.GridView, { scrollTop: function () { this....
### Ext.get与Ext.fly的区别 ...综上所述,`Ext.get`和`Ext.fly`各有优劣,在实际开发中应根据具体需求灵活选择使用哪种方法。正确地使用这两种方法可以帮助开发者构建出更加高效且资源利用率高的应用程序。
Ext.grid.ColumnModel显示不正常
在EXTJS框架中,`Ext.ux.form.LovCombo`是一种自定义组件,它扩展了基本的`Ext.form.field.ComboBox`,提供了更丰富的功能,尤其是针对多选和联动选择的需求。这个组件通常用于创建具有“lov”(即“Look Up Value”...
### Ext.data.Store的基本用法详解 #### 一、Ext.data.Store简介 `Ext.data.Store`是ExtJS框架中用于管理数据的核心组件之一。它主要负责数据的存储、加载、更新等操作,并且提供了多种方法来方便地处理这些数据。...
在Ext.js中,`Ext.Store`是用来管理数据的类,它通常与各种UI组件(如Grid、ComboBox等)关联,用于存储和检索数据。然而,获取`Ext.Store`的方式并不像获取其他Ext组件那样直接,因为Store并不是一个具有可视界面的...
`Ext.grid.Grid`是Ext JS库中的一个组件,用于创建可交互的数据网格,而DWR(Direct Web Remoting)则是一种允许JavaScript和Java在浏览器端进行安全、高效通信的技术。本篇文章将深入探讨如何利用这两者结合,实现...
在使用Ext.ux.touch.grid-master时,你需要将相关的JavaScript文件引入到你的EXTJS Touch项目中,并根据文档指导配置和实例化组件。通过与EXTJS Touch的其他组件配合,如模型(Model)、存储(Store)和视图(View)...
在Ext JS库中,`Ext.grid.plugin.RowExpander`是一个扩展插件,用于在网格行中添加可展开的详情区域。在Ext4.2版本中,用户可能遇到一个特定的问题,即`RowExpander`的`collapsebody`和`expandbody`事件无法正常触发...
在EXTJS库中,`Ext.Ajax.request`是用于发送Ajax请求的核心方法,它支持异步和同步操作。本文将详细解析如何利用`Ext.Ajax.request`实现同步请求,并探讨其背后的原理和注意事项。 首先,我们需要理解Ajax的本质,...
Ext.grid.GridPanel 删除线 放到example文件夹下运行
在EXTJS这个强大的JavaScript框架中,`Ext.get`和`Ext.fly`是两个非常重要的方法,它们都用于操作DOM元素,但它们之间存在着微妙的差异。了解这些差异对于优化代码性能和理解EXTJS的工作机制至关重要。 首先,`Ext....
当请求包含自定义头部、非GET/HEAD方法或者使用了`withCredentials`时,浏览器会先发送一个OPTIONS请求,询问服务器是否允许这次实际的请求。服务器需要回应相应的`Access-Control-Allow-Methods`、`Access-Control...
2、Ext.ux.grid.feature.Tileview 3、Ext.ux.upload.Button 4、Ext.ux.toggleslide.ToggleSlide 5、Ext.ux.container.ButtonSegment 6、Ext.ux.grid.plugin.RowEditing 7、Ext.ux.grid.plugin.DragSelector 8、Ext....
org.restlet.ext.spring.jar
Ext.grid.GridPanel 是一个功能强大且广泛使用的Grid控件,但是它存在一个很大的缺陷:单元格的内容不能选中,没法选中就没法复制,这给用户带来了很多不便。这个问题的根源在于ExtJs输出的代码中,每个单元格的div...