lyglcheng

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

 

转自 :http://bsd4ever.javaeye.com/blog/242694


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,

.....

.....

分类:

技术点:

相关文章:

  • 2022-12-23
  • 2021-11-11
  • 2022-12-23
  • 2022-03-09
  • 2022-02-18
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-06-19
  • 2021-10-30
  • 2022-01-24
  • 2021-09-05
  • 2021-11-29
  • 2021-07-05
相关资源
相似解决方案