ExtJS 4 celleditor组合框返回值

时间:2012-01-27 10:04:04

标签: javascript datagrid combobox extjs4

我正在寻找如何解决这个问题。我有什么:

  • 网格面板
  • 单元格渲染器
  • 单元格编辑器 - combobox

我的渲染器是:

renderer: function(value) {
    return value || "—";
}

因此,如果定义value参数,则会显示,否则我们会显示

编辑是:

editor: {
    xtype: "combobox",
    store: Ext.create("Ext.data.Store", { ... }),
    displayField: "name",
    valueField: "id",
    queryMode: "local"
}

编辑完成后,将返回valueField的值并将其作为参数推送到渲染器中,因此我会在单元格中看到条目的ID。

我的问题是我想在单元格中显示displayField的值(将其推入渲染器),但record应包含条目的ID(valueField值)。

提前致谢。

1 个答案:

答案 0 :(得分:1)

如果renderer的文档正确,则传递到renderer的第三个参数为record。您可以在renderer中修改它(设置'ID'):

renderer: function(value, meta, record) {
  // value == valueField
  record.set('ID', value);

  var displayValue;
  // displayValue (corresponding to valueField) can be retrieved from combo's store:
  displayValue = combosStore.find('id', value).get('name');
  return displayValue || "—";
}