Возвращаемое значение ExtJS 4 celleditor combobox - PullRequest
0 голосов
/ 27 января 2012

Я смотрю, как решить эту проблему. Что у меня есть:

  • Сетка панель
  • Рендерер клеток
  • Редактор ячеек - комбинированный список

Мой рендер:

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

Так что, если параметр value определен, он будет отображаться, в противном случае мы отобразим .

Редактор:

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

И когда редактирование закончится, значение из valueField будет возвращено и помещено в рендерер в качестве параметра, поэтому я увижу идентификатор записи в ячейке.

Моя проблема в том, что я хочу отобразить значение из displayField в ячейке (вставить его в средство визуализации), но record должно содержать идентификатор записи (valueField значение).

Заранее спасибо.

1 Ответ

1 голос
/ 27 января 2012

Если документы для рендерера верны, третий аргумент, переданный в renderer, будет record Вы можете изменить его (установить 'ID') в renderer:

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 || "—";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...