+ -
当前位置:首页 → 问答吧 → 请教ext中 grid 怎样动态添加列?

请教ext中 grid 怎样动态添加列?

时间:2008-07-02

来源:互联网

ext 中一般ColumnModel都是固定的,如下 
var colModel = new Ext.grid.ColumnModel([ 
{id:'company',header: "Company", width: 160, sortable: true, locked:false, dataIndex: 'company'}, 
{header: "Price", width: 75, sortable: true, renderer: Ext.util.Format.usMoney, dataIndex: 'price'}, 
{header: "Change", width: 75, sortable: true, renderer: change, dataIndex: 'change'}, 
{header: "% Change", width: 75, sortable: true, renderer: pctChange, dataIndex: 'pctChange'}, 
{header: "Last Updated", width: 85, sortable: true, renderer: Ext.util.Format.dateRenderer('m/d/Y'), dataIndex: 'lastChange'} 
]); 
如果ColumnModel列数不固定而是动态的从数据库中读取,怎么实现呢?

作者: luo_yijun   发布时间: 2008-07-02

var colM = "company,id,flyline"; 
  var colMArr = colM.split(","); 
  var colLength = colMArr.length; 
  var colMArray = new Array(); 
  for(var i=0; i<colLength; i++) { 
  colMArray[i] = {header:colMArr[i],width: 75,dataIndex:fieldArray[i]} 
  //此处的fieldArray[i]是fields的数据 
  } 

  //然后colMarray数组即是我们要动态构造的那个ColumnModel的参数,此处的动态的意 
  //思是colM可以从request中获取,然后用来动态创建header即表头信息,同 
  //理dataIndex也是一样的 
  var column = new Ext.grid.ColumnModel( 
  colMArray 
  ); 
  //然后GridPanel中的制定cm属性值为column即可

作者: wtd   发布时间: 2008-09-26

關注

作者: galant2008   发布时间: 2008-09-27

我也真正学习Extjs,不知那个方法可行否,让我试一试!

作者: lynn_9527   发布时间: 2008-11-12

动态的。

作者: yougucao379548695   发布时间: 2008-11-13

用这个方法试试:http://blog.csdn.net/dwj520/archive/2011/04/08/6308747.aspx
不知道是否对你有所帮助

作者: dbx915   发布时间: 2011-05-23

热门下载

更多