私は ExtJS を初めて使用します..数週間前なので、これが些細なクエリのように思われる場合はご容赦ください。
別のコンボ ボックス (DeliveryMethod) で選択された値に基づいて、コンボ ボックス (SourceSystem) に値のリストをロードする必要があります。両方のコンボに JSON ストアを使用しています。
だから私はコンボボックス2にリスナーを追加しました
listeners:{
'select': function(combo, record,index) {
selectedDelMethod = record.data.codeValue;
var srcSystem = Ext.getCmp('sourceSystemCombo');
srcSystem.reset();
srcSystem.store.reload({
params: {
attrID: 3002,
delvMethod: selectedDelMethod
}
});
}
ここで、srcSystem.store は selectedDelMethod に基づいて異なるリストをロードします。これはうまくいっています。ただし、SourceSystem コンボックス ID が読み込まれると、データが取り込まれますが、デフォルト値として何も表示されません。
fieldLabel: 'Source System',
id: 'sourceSystemCombo',
xtype: 'combo',
mode: 'local',
triggerAction: 'all',
forceSelection: true,
editable: false,
name: 'sourceSystem',
displayField: 'shortDescription',
valueField: 'codeValue',
hiddenName: 'sourceSystem',
store: sourceSystemStore,
listeners: {
'afterrender': function(combo){
var selectedRecord = combo.getStore().getAt(0);
combo.setValue(selectedRecord);
}
}
アフターレンダーリスナーに何かが欠けていると確信しています。最初の値をデフォルト値にする方法を教えてください。