从RowEditing中的值绑定文本

时间:2016-04-26 18:58:01

标签: extjs extjs5

我正在实现RowEditing功能

这是一个网格列

header: 'City', dataIndex: 'City_id',
editor: {
  xtype: 'combobox',
  queryMode: 'local',
  displayField: 'text',
  valueField: 'value',
  store: Ext.create('Ext.data.Store', {
    fields: ['text', 'value'],
    data: [
        { text: 'Atlanta', value: '1' },
        { text: 'New York', value: '2' }
    ]
  })
}

存储过程仅返回城市ID,即1或2.现在因为我在标题处使用了“dataIndex:'City_id'” - 只有1或2绑定到网格。

我的问题是,在这里我想将文本而不是值绑定到显示器。我怎样才能做到这一点?请建议我。

2 个答案:

答案 0 :(得分:1)

通常您会在列上使用渲染器来显示文本而不是值。

有些事情:

renderer:function(value) {
    return this.editor.store.findRecord("value",value).get("text");
}

答案 1 :(得分:0)

@ Alexander的答案是更新列中显示值的正确方法。

要解决列标题的问题,请在代码示例的第一行使用text属性,而不是header属性。

列配置:

{ text: 'City', // NOT header: 'City' 
  dataIndex: 'City_id',
  editor: {
    ...
  }
}