Удалить несколько элементов из сетки с помощью CheckboxSelectionModel
Использование ExtJs4.1 на Sencha Architect.
У меня есть следующий код в моем коде onDeleteButton
onDeleteButtonClick: function(button, e, options) {
var active = this.activeRecord;
var myGrid = Ext.getCmp('publisherResultsGridView'),
sm = myGrid.getSelectionModel(),
selection = sm.getSelection(); // gives you a array of records(models)
if (selection.length > 0){
for( var i = 0; i < selection.length; i++) {
this.application.log('OnDeleteItemID is ' + selection);
}
this.remove(selection);
}
Код для Remove
функция
remove: function(record) {
var store = Ext.getStore('PublisherProperties');
store.proxy.url = MasterDataManager.globals.url + "Publishers/";
store.remove(record);
store.sync();
Когда я запускал его, я мог видеть массив объектов в моем журнале, также я не получаю никаких ошибок после выполнения функции удаления. Но магазин не обновляется, я имею в виду, что он не удаляет выбранные элементы.
Может кто-нибудь, пожалуйста, помогите мне.
Спасибо
1 ответ
Решение
Я решил свою проблему, внеся следующие изменения.
к onDeleteButtonClick
if (selection.length > 0){
for( var i = 0; i < selection.length; i++) {
this.application.log('OnDeleteItemID is ' + selection[i].data.id);
this.remove(selection[i]);
}
}
к Remove
функция
remove: function(record) {
var store = Ext.getStore('PublisherProperties');
this.application.log('Remove Function is ' + record);
store.proxy.url = MasterDataManager.globals.url + "Publishers/" + record.data.id;
store.load({
scope : this,
callback : function(records, operation, success){
if (records.length > 0){
var store2 = Ext.getStore('PublisherProperties');
store2.proxy.url = MasterDataManager.globals.url + "Publishers/";
store2.remove(records[0]);
store2.sync();
}
}
});
//store.remove(record);
//store.sync();