У меня есть пример рабочий пример, в котором я использую Ext.window.Window
для редактирования записей сетки.
Идентификатор значения отображается в самой сетке и пуст в окне редактирования.
Для поля со списком в сетке я сделал это, и это работает
{
text : 'type',
dataIndex : 'type',
flex: 1,
renderer: function (v, p, record) {
return record.get('type');
},
},
Для поля со списком в редактировании формы я добавил в поле со списком listeners:{ render: function(combo)}
{
xtype: 'combobox',
store: {
type: 'type-store'
},
fieldLabel: 'Type',
displayField: 'name',
valueField: 'id',
queryMode: 'remote',
publishes: 'name',
name: 'name',
listeners:{
'render': function(combo){
console.info(combo);
combo.setValue();//How set current value
}
}
Но я не понимаю, как правильно установить текущее значение?
благодарить
Прежде всего, чтобы связать значение комбинации с вашими данными data.json, вы должны указать идентификатор для «типа», а не только описание:
{
"id": 1, "id_type":3 , "type": "Третий", "mytextfield": "Текстовое значение"
},
На самом деле вы можете использовать «имя», если хотите, но вы также должны изменить свое комбо-значение на «имя».
В контроллере сначала загрузите комбинированное хранилище (или автозагрузку), а затем, вместо использования view_model окон, используйте форму для загрузки вашей записи:
console.info(wind.lookup("mycombo").getStore().load());
wind.down('form').loadRecord(record);
Я изменил ваш рабочий пример с этими изменениями