Extjs-Grid-动态生成columns

来源:互联网 发布:靠谱韩代淘宝 豆瓣 编辑:程序博客网 时间:2024/05/08 14:10

1:声明变量

var colstr = [];

2:定义Grid

var grid = new Ext.grid.GridPanel({                region : 'center',                height : 250,                store : store,                columns : colstr,                dockedItems : [{                    xtype : 'toolbar',                    items : [{                                xtype : 'button',                                text : '查询',                                iconCls : "Magnifier",                                handler : function() {                                    tochart();                                    getData();                                }                            }, "-", {                                xtype : 'button',                                text : '重置',                                iconCls : "Arrowundo",                                handler : function() {                                    queryForm.getForm().reset();                                }                            }, "-", {                                text : "导出",                                iconCls : "Pagewhiteexcel",                                handler : function() {                                    var data = {};                                    data["result"] = result;                                    data["fieldStr"] = fieldStr;                                    CTU.Utils.DataExport(data, WebPath                                                    + "/baobiao/exportData");                                }                            }]                }]            });

3:定义功能函数赋值变量colstr

function getData() {        colstr = [];        var fp = queryForm;//查询panel        var queryParam = {};        var date = fp.getForm().getValues()["date"];//查询条件        queryParam["date"] = date;        var n = fp.getForm().getValues()["n"];//查询条件        queryParam["n"] = n;        Ext.Ajax.request({            url : WebPath + '/baobiao/findDuoKai',            params : queryParam,            method : "POST",            success : function(response) {                // 转换数据反回值为对象                var datas = Ext.decode(response.responseText);                // 获取 开始日期 和 结束日期                var begin = CTU.Utils.parseDate(queryParam['date'][0]);                var end = CTU.Utils.parseDate(queryParam['date'][1]);                var colstr_Obj = {};                colstr_Obj['text'] = '开数';                colstr_Obj['dataIndex'] = 'name';                colstr.push(colstr_Obj);                for (var i = begin; i <= end; i = i + 3600000 * 24) {                    var colstr_Obj1 = {};                    colstr_Obj1['text'] = Ext.Date.format(new Date(i), 'Y-m-d');                    colstr_Obj1['dataIndex'] = Ext.Date.format(new Date(i),                            'Y-m-d');                    colstr.push(colstr_Obj1);                    j++;                }                grid.reconfigure(store, colstr);                grid.doLayout();            }        });    }
0 0