Extjs中grid 的ColumnModel 属性配置
Extjs中grid 的ColumnModel 属性配置
Extjs中grid 的ColumnModel 属性配置一, 用数组的方式配置ColumnModel
var colModel = new Ext.grid.ColumnModel([ { header:'编号', dataIndex:'id',width:200}, { header:'名称', dataIndex:'name',width:300} ]};
注意:上述写法ColumnModel的构造参数必须是一个数组,哪怕只有一列。
二、 用JSON对象的方式配置ColumnModel
var colModel = new Ext.grid.ColumnModel({
columns:[ --列集合的定义
{ header:'编号', dataIndex:'id',width:200},
{ header:'名称', dataIndex:'name',width:300}
],
defaults:{ --公共属性配置
sortable:true,
menuDisabled:true,
width:100
},
listeners:{ --监听事件
"widthchange":function(cm,colIndx,width){
saveConfig(colIndex,width);
}
}
});
这种写法的好处是更加的面向对象,也便于继承。
三、常用属性介绍:
header 设置列标题
dataIndex 设置列对应数据源的name值
editor 设置在编辑状态下,指定编辑器
align 设置列标题的对齐方式
widht 设置列的宽度
css 设置列头的CSS样式
fixed 表示列头的宽度是否可以改变,默认为true
hidden 表示是否是隐藏列,默认为false
hideable 表示是否禁止用户隐藏该列,默认为false
menuDisabled 表示是否禁止列菜单 默认为false
resizable 表示是否禁止列可变大小,默认为false
sortable 表示列是否可排序,默认为false
tooltip 表示列头部显示的提示文字
renderer 用于加工单元格的原始数据,
id 列的标识,列的所有单元格包括头部都是用这个值来创建CSS的class属性
格式为:
x-grid3-td-id 单元格样式
x-grid3-td-hd-id 列头样式
四、常用方法介绍:
findColumnIndex 根据dataIndex里的值,返回列的索引
getColumnById 返回指定ID的列
getColumnCount 返回列数
getColumnId 返回指定index列的ID
....
该类有很多方法来操作列,具体查看API
五、一个比较完整的实例
Ext.grid.ColumnModel([{ id: 列的唯一标识,可以用于定义css,如:(.x-grid-td-topic b { color:#333 }) header: 列的名称 dataIndex: 在store中本列值的索引 sortable: 设置本列是否支持排序 renderer: 列值的渲染函数,定义函数如:function renderName(value, cellmeta, record, rowIndex, columnIndex, store){} width : 列宽 hidden:true 是否隐藏本列 }]); //value是当前单元格的值 //cellmeta里保存的是cellId单元格id,id不知道是干啥的,似乎是列号,css是这个单元格的css样式。 //record是这行的所有数据,你想要什么,record.data["id"]这样就获得了。 //rowIndex是行号,不是从头往下数的意思,而是计算了分页以后的结果。 //columnIndex列号太简单了。 //store,这个厉害,实际上这个是你构造表格时候传递的ds,也就是说表格里所有的数据,你都可以随便调用。 function renderDescn(value, cellmeta, record, rowIndex, columnIndex, store) { var str = "<input type='button' value='查看详细信息' onclick='alert(""" + "这个单元格的值是:" + value + "" + "这个单元格的配置是:{cellId:" + cellmeta.cellId + ",id:" + cellmeta.id + ",css:" + cellmeta.css + "}""n" + "这个单元格对应行的record是:" + record + ",一行的数据都在里边" + "这是第" + rowIndex + "行" + "这是第" + columnIndex + "列" + "这个表格对应的Ext.data.Store在这里:" + store + ",随便用吧。" + """)'>"; return str; }
- extjs Border边框布局
- extjs column列布局
- ExtJs中getCmp、getDom、Get的区别
- ExtJs中Store的种类
- extjs xtype的使用
- extjs radiogroup赋值和取值
- ExtJs中XTemplate使用
- ExtJs常用代码片段
- ExtJs中怎么上传文件
- Extjs menu菜单的简单用法
- extjs中apply和applyIf的用法
- extjs多选下拉框
- Extjs中文乱码
- extjs tabPanel的用法
- extjs中Toolbar工具栏
- Extjs msgTarget 提示位置
- 越南旅游攻略(越南旅游攻略自由行)
- 成都旅游攻略(成都旅游攻略自由行最佳线路)
- 给儿童吃什么最好(给儿童吃什么最好消化)
- 杭州旅游攻略()
- 云南旅游攻略(云南旅游攻略5天攻略)
- 收藏 春节假期,这些景区巨划算(收藏春节假期这些景区巨划算)
热门推荐
- ubuntu16.04开机默认root(新版ubuntu20.04 使用root用户登录系统的详细教程)
- HTML5 audio标签
- 如何建立smart组件(Smarty模板变量与调节器实例详解)
- mysql索引优化有哪些(MySQL如何基于Explain关键字优化索引功能)
- python线程池如何实现同步(Python mutiprocessing多线程池pool操作示例)
- css怎么让div整体居中(CSS实现DIV居中的三种方法)
- thinkphp5 新增模块(Thinkphp5.0框架的Db操作实例分析连接、增删改查、链式操作等)
- laravel怎么查询信息过滤(laravel多条件查询方法and,or嵌套查询)
- mysql索引提高效率(MySql如何查看索引并实现优化)
- react app框架(浅谈React原生APP更新)