2010-11-28 4 views
1

Когда я нажимаю кнопку удаления сетки, строка исчезает из сетки, но когда сетка перезагружается, эта строка снова появляется. Я пробовал много команд без каких-либо результатов. Пожалуйста помоги! Спасибо заранее.Удаленные строки снова появляются после перезагрузки сетки

Это функция, которая создает сетку:

// create the data store 
var store = new Ext.data.Store({ 
    proxy: new Ext.ux.data.PagingMemoryProxy(myData), 
    remoteSort:true, 
    sortInfo: {field:'del', direction:'DESC'}, 

    reader: new Ext.data.ArrayReader({ 
     fields: [ 
      {name: 'id'}, 
      {name: 'name'}, 
      {name: 'category'}, 
      {name: 'price', type: 'float'}, 
      {name: 'active', type: 'int'}, 
      {name: 'actions', type:'text'} 
     ] 
    }) 
}); 

А вот функция удалить:

 buttons: [{ 
     text: 'Add', 
     iconCls: 'silk-add', 
     handler: this.onAdd 

    }, '-', { 
     text: 'Delete', 
     iconCls: 'silk-delete', 
        handler: function(sm, rowIdx,r){ 

      var s = grid.getSelectionModel().getSelections(); 
      for(var i = 0, r; r = s[i]; i++){ 

       // store.remove(r); 
       var index = store.data.indexOf(r); 
       if(index > -1){ 
       r.join(null); 
       store.data.removeAt(index); 

      } 
       store.modified.remove(r); 

      if(index > -1){ 
       store.fireEvent('remove', store, r, index);  
      } 
       store.destroyRecord(store, r, index); 
      } 

      store.reload(); 
     }, 
    }] 

ответ

4

При перезагрузке сетки с использованием метода grid.store.reload() в магазин собирается перезагрузить данные из источника, так что в этом случае похоже, что вы используете локальные данные (массив или json string?). Итак, да, вы удаляете запись из магазина, но затем, вызывая перезагрузку, вы повторно вставляете эти записи. Лучше всего делать что-то, где вы удаляете значения из объекта «mydata», а затем вызываете перезагрузку. Это должно избавиться от записей для вас.

+0

но скажите, как я могу удалить строку из mydata или значений? – cosy 2010-11-29 20:31:32

0

Я нашел решение, как удалить из mydata для ex: myData.splice (1,1);

Смежные вопросы