私の場合、グリッドの選択された行からデータを取得する編集フォームがあります。このフォームには、オートコンプリートプロパティを使用している「コンボボックス」タイプのフィールドがいくつかあります。
xtype: 'combobox',
store: 'Paciente',
forceSelection: true,
typeAhead: true,
pageSize: 10,
fieldLabel: 'Paciente',
name: 'paciente_id',
valueField: 'id',
displayField: 'nome',
allowBlank: false,
afterLabelTextTpl: required
これは私の店です:
Ext.define('App.store.Paciente', {
extend: 'Ext.data.Store',
model: 'App.model.Paciente',
pageSize: 10,
proxy: {
type: 'rest',
format: 'json',
url: 'pacientes',
reader: {
root: 'pacientes',
totalProperty: 'totalCount'
}
}
});
コンボを使用すると機能します。しかし、グリッドで線を選択すると、すべてのフィールドが塗りつぶされますが、コンボは塗りつぶされません。
gridSelectionChange: function(model, records) {
if (records[0]) {
this.getForm().load(records[0]);
}
},
フォームが読み込まれたときに、このコンボを正しく入力するにはどうすればよいですか?
アップデート1:作業コード
コンボボックスごとに手動でこれを行う必要がありました。それは自動的に方法だと思いました。
if (records[0]) {
this.getForm().loadRecord(records[0]);
//updating current value for combo paciente
this.getStore('Paciente').add({nome: records[0].get('nome'), id: records[0].get('id')});
this.getCombopaciente().select(records[0].get('paciente_id'));
//updating current value for combo XYZ...
}