您的位置:首页 > Web前端 > JavaScript

Ext-动态生成grid

2017-06-16 15:00 525 查看
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;
}


效果如图

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  extjs