ExtJS4 动态添加columns常用方法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_33704704/article/details/86519279

1.使用Gird加载完后使用  Gird.headerCt.insert()方式进行动态添加

  首先Gird里可以先定义固定的column行

  然后从后台查询到动态的数据集dataParam

  再利用Gird.headerCt.insert()的方式添加colum:

       for(var key in dataParam) {

             var value = dataParam[key].NAME;

             var column = Ext.create('Ext.grid.column.Column', {

                 text: value,

                 width:210,

                 //style: "text-align:center;",

                 //align:'center',

                 dataIndex: dataParam[key].IND

             });

             Gird.headerCt.insert(Gird.columns.length, column);

         }

         //Gird.getStore().reload();

         Gird.getView().refresh();

 

2.直接先动态获取colums再将处理好的colums传递到Gird中

Gird中的column其实就是一个数组,如果在加载Gird前,将该数组里的参数动态加载完成,再传递给Gird也一样能实现Gird的动态加载。

      var platFormParam = "";

      var fieldsParam = [] ;

      fieldsParam.push("station");

      //动态加载列标题

      $.ajax({

            url:"/xxx/xxx/xxx.do",

            async: false,

            data:{xxx: xxx},

            daType:'Json',

            success: function(data){

                  platFormParam = data.records;

                  for(var i in data.records){

                        fieldsParam.push(data.records[i].PLATFORM_ID);

                  }

            }

      });

     

      var cm = [];

      cm.push({ header: '区域', dataIndex: 'station',  width: 150});

      //动态加载列

      for(var key in platFormParam) {

        if(platFormParam[key].PLATFORM_ID){

             var header = "";

            if(platFormParam[key].PLATFORM_ID == 1){

            header = "xxx";

            }else if(platFormParam[key].PLATFORM_ID == 2){

            header = "xxx";

            }

            cm.push({ header: header, dataIndex: platFormParam[key].PLATFORM_ID,  width: 150});

        }

    }

最后将 platFormParam 传递给 store 里的fields

cm  传递给columns 即可。

 
 

猜你喜欢

转载自blog.csdn.net/sinat_33704704/article/details/86519279