日期:2014-05-16  浏览次数:20420 次

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

http://blog.csdn.net/yangzhimei/article/details/2942387