日期:2014-05-16  浏览次数:20785 次

关于EXT grid取值的问题。
一般都是用类似这样的语句取值

var data=Ext.getCmp('reportgrid').getSelectionModel().getSelected().data;
data.name
data.id
......

现在的问题是,如果我事先不知道要取哪几个列的数据,而是由一个String[]来定义的话,如

var str=[name,id];

用data.str[0]的取不到值,有什么方法可以解决这个问题吗??

------解决方案--------------------
本帖最后由 showbo 于 2013-07-22 14:13:08 编辑
str=['name','id']

data[str[0]]
data[str[1]]
data[str[...]]

------解决方案--------------------
看你使用的是Ext哪个版本的,我这里是Ext3.4版本的grid取值方式,看能不能帮到楼主:
Emp_grid.on('cellclick', function (grid, rowIndex, columnIndex, e) {
  var btn = e.getTarget('.controlBtn');
  if (btn) {
    var record = grid.getStore().getAt(rowIndex);  
    var fieldName = grid.getColumnModel().getDataIndex(1);
    var EmpId = record.get(fieldName);
  }  
},  
this);