Ext.grid.ColumnModel 配置

学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/

你可能感兴趣的:(column)