Ext-动态生成grid

Ext.define('V5.auditoper.quekeyword.view.DynTestGrid', {
    extend : 'Ext.grid.Panel',
    xtype : 'dyntestgrid',
    selType : 'rowmodel',
    selModel : {
        mode : 'MULTI'
    },
    store : createStore(),
    plugins : [{
                ptype : 'tbarbtncontrol'
            }],
    columns : createColumns()
    });

//动态生成store
function createStore() {
    //定义model
    var fd = ['name', 'email', 'phone','rcolor'];
    //定义数据
    var data = [{
                'name' : '派生指标1',
                'email' : '123@qq.com',
                'phone' : '123',
                'rcolor': 'green'
            }, {
                'name' : '派生指标2',
                'email' : '1232@qq.com',
                'phone' : '123',
                'rcolor': 'yellow'
            }, {
                'name' : '派生指标3',
                'email' : '1234@qq.com',
                'phone' : '123',
                'rcolor': 'blue'
            }, {
                'name' : '派生指标4',
                'email' : '12233@qq.com',
                'phone' : '123',
                'rcolor': 'red'
            }];
    var store = Ext.create('Ext.data.Store', {
                storeId : 'simpsonsStore',
                fields : fd,
                data : data,
                proxy : {
                    type : 'memory',
                    reader : {
                        type : 'json',
                        root : 'items'
                    }
                }
            });
    return store;
}

//动态生成列
function createColumns() {
    var cm = [];
    cm.push(Ext.create('Ext.grid.column.Column', {
                dataIndex : 'name',
                text : '指标名称',
                flex : 1
            }));
    cm.push(Ext.create('Ext.grid.column.Column', {
                dataIndex : 'email',
                text : '邮箱',
                flex : 1
            }));
    cm.push(Ext.create('Ext.grid.column.Column', {
                dataIndex : 'phone',
                text : '电话',
                flex : 1
            }));
    cm.push(Ext.create('Ext.grid.column.Column',{
            dataIndex: 'rcolor',
            text: '预警颜色',
            renderer : function(v){
                return "<div style='width:20px;height:20px;background-color:"+v+";float:left;'><div><label style='margin-left:22px;'>Male</label>"
            }
        }));
    return cm;
}

效果如图
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值