ExtJS中的GridPanel动态添加ColumnModel

来源:互联网 发布:e盾网络验证模块 编辑:程序博客网 时间:2024/05/17 08:59
    前短时间一直研究ExtJS来着,看了我做的ExtTest,项目组想试用一下ExtJS,于是决定让我研究一下。表面上很简单,其实Ext的功能强大自不必说,关键其
 源码结构太乱了(如果有源码的结构清晰的就好了),实在难读,所以有些问题还是要不断琢磨、试验。
 最近遇到个ExtJS的GridPanel的ColumnModel的动态加载的问题,就让我纠结了好几个小时,开始想得复杂了,还以为ColumnModel里边是什么对象来着,
 因为我当成字符串传进去有问题,结果其实很简单,直接构造就可以了,代码如下(希望对遇到同样困难的哥们有用):
  1.     var colM = "company,id,flyline";
  2.     var colMArr = colM.split(",");
  3.     var colLength = colMArr.length;
  4.     var colMArray = new Array();
  5.     for(var i=0; i<colLength; i++) {
  6.     colMArray[i] = {header:colMArr[i],width: 75,dataIndex:fieldArray[i]}
  7.          //此处的fieldArray[i]是fields的数据
  8.     }
  9.     //然后colMarray数组即是我们要动态构造的那个ColumnModel的参数,此处的动态的意
  10.     //思是colM可以从request中获取,然后用来动态创建header即表头信息,同
  11.     //理dataIndex也是一样的
  12.     var column = new Ext.grid.ColumnModel(
  13.     colMArray
  14.     );
  15.     //然后GridPanel中的制定cm属性值为column即可