`
bsd4ever
  • 浏览: 10491 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Ext Grid动态生成Column的实现方式

EXT 
阅读更多


1、定义DataStore的Fields和Grid的Columns,这两个的格式和静态生成Grid时采用的是格式一样的,区别就是他们现在是根据程序动态生成的

var s_fields = '';
var s_columns = '';
for(var i = 0; i < data[0].length; i++){
if(s_fields.length > 0){
s_fields += ',';
}
if(s_columns.length > 0){
s_columns += ',';
}
s_fields += '{name:"' + data[0][i] + '"}';
s_columns += '{header:"' + data[0][i] + '",dataIndex:"' + data[0][i] + '",width:20,sortable:true}';
}

2、根据s_fields和s_columns的内容生成需要的DataStore和ColumnModel
var fields = eval('([' + s_fields + '])');
var store = new Ext.data.SimpleStore({fields : fields});
store.loadData(gridData);
//gridData为一二维数组,每一列对应store的一个field

var cm = new Ext.grid.ColumnModel(eval('([' + s_columns + '])'));

3、生成Grid(代码片断)

.....

.....
items :new Ext.grid.GridPanel({
ds : store,
cm : cm,

.....

.....

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics