如何在extjs中动态更改网格列的值

时间:2015-11-24 07:29:18

标签: extjs

  

块引用

header:WtfGlobal.getLocaleText("hrms.performance.self.rating"),
              dataIndex:'gemprat',
              sortable:true,
              renderer: function(value, meta, record) {
                  debugger;
                  var val = record.get('gemprat');
                  console.log(val); 
                  if (val === '5') {
                      record.set('gemprat', 'CEE');
                  } 
              }
  

块引用   请帮我修改这个值

1 个答案:

答案 0 :(得分:1)

  

列渲染器是一种“拦截器”方法,可用于转换   渲染前的数据(值,外观等)。返回值   是要呈现的HTML字符串。

首先,从数据阵列创建一个对象以便于访问。

var data = [['5','CEE' ],['4','GEE'],['3','ME'],['2','UME'],['1','NME']];
var newDataObj = {};
data.forEach(function(a){ newDataObj[a[0]]=a[1]; });

创建一个对象,其值为{1:“NME”,2:“UME”,3:“ME”,4:“GEE”,5:“CEE”}

如果数据数组是静态的,您可以直接创建一个包含上述数据的对象。

现在更改渲染器功能,如下所示。

 renderer: function(value, meta, record) {        
     // var val = record.get('gemprat'); No need for this line since dataIndex for this column is gemprat.
      return newDataObj[value];
  }