Я использую extjs 4.0.7. У меня есть требование, в котором у меня есть два поля со списком в режиме редактирования сетки, и мне нужно изменить данные во втором на основании значения, выбранного в первом.Как изменить данные в комбо на основе других данных, выбранных в extjs 4
Я использую архитектуру MVC для extjs и java-код, который возвращает строку json для заполнения данных в поле со списком. Код для моего первого комбо коробки:
вид файла:
items: [{
id: 'country',
header: 'Countries',
field: {
xtype: 'combo',
store: [
["USA","USA"],
["India","India"],
],
editable: false,
allowBlank: false,
listeners: {
select: function(combo, records, eOpts){
contactTypeGrid = combo.getValue();
myGrid.fireEvent('LoadStateOnSelect');
}
}
}
},
{
id: 'states',
header: 'Sates',
dataIndex: 'states',
field: {
xtype: 'combo',
store: 'StateStore',
valueField: 'stateDesc',
displayField: 'stateText',
}
}, ....
]
контроллер:
LoadStateOnSelect: function(){
contactTypeGrid = contactTypeGrid.toLowerCase();
var stateStore = this.getStateStoreStore();
stateStore.getProxy().url = "myURL.do";
stateStore.getProxy().extraParams.act = contactTypeGrid;
stateStore.load();
},
Однако, когда я запускаю этот код, данные в ходе второго изменения магазина в фоновом режиме но маску загрузки продолжает появляться спереди, из-за которой я не могу выбрать какое-либо значение.
Как устранить проблему загрузки условных данных? Любая помощь будет высоко ценится.
Спасибо за ответ Арун. магазин.clearValue() не метод однако, я попробовал store.removeAll(), но это не поможет. Использование firebug во время отладки, я заметил, что, когда я делаю свой первый выбор в комбинированной стране и нажимаю триггер для состояний, выполняется запрос, и значения полностью загружаются. Однако, когда я повторяю этот процесс во второй раз, новый запрос не запускается, однако данные в состояниях меняются и появляется маска «Загрузка». Что это может означать? – Merc
Плохо. store.clearValue() не метод, однако, компонентReference.clearValue() существует. Я пробовал это, но даже это не помогает. – Merc
Я попытался воспроизвести это, но у меня не было проблем при перезагрузке магазина новыми данными. –