学Ext快二个多星期了,有些东西觉得还是有必要记下来,以备日后用的着的时候方便记忆。通常Ext的写法太多了,如果不能熟练的知道每种写法,就会被各种怪异的写法给搅混了,本文主要帮助自己加深对Ext的理解,首先来分析Ext.grid.ColumnModel类;
Ext.grid.ColumnModel
该类用于定义表格的列模型,其配置项是一个由“列定义”组成的数组,还可以是JSON组成的对象。其中也定义很多操作列的
属性、方法 比如:查找某个列,隐藏某个列等等...
一, 用数组的方式配置ColumnModel
1 var colModel = new Ext.grid.ColumnModel([ 2 { header:'编号', dataIndex:'id',width:200}, 3 { header:'名称', dataIndex:'name',width:300} 4 ]};
注意:上述写法ColumnModel的构造参数必须是一个数组,哪怕只有一列。
二、 用JSON对象的方式配置ColumnModel
1 var colModel = new Ext.grid.ColumnModel({ 2 columns:[ --列集合的定义 3 { header:'编号', dataIndex:'id',width:200}, 4 { header:'名称', dataIndex:'name',width:300} 5 ], 6 defaults:{ --公共属性配置 7 sortable:true, 8 menuDisabled:true, 9 width:100 10 }, 11 listeners:{ --监听事件 12 "widthchange":function(cm,colIndx,width){ 13 saveConfig(colIndex,width); 14 } 15 } 16 });
这种写法的好处是更加的面向对象,也便于继承。
三、常用属性介绍:
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
转:http://itworktor.blog.163.com/blog/static/175203029201086103845632/