2013-03-09 4 views
3

У меня есть сетка ExtJS с кнопкой на панели инструментов, чтобы сохранить дату. Сохраняются работы и данные сохраняются. Но сетка не обновляется. Как перезагрузить данные сетки после сохранения?Sencha ExtJs Сетка обновления после сохранения магазина

Ext.define('MyLodge.view.content.MemberGrid', { 
extend: 'Ext.grid.Panel', 
alias: 'widget.membergrid', 



initComponent: function(){ 

    var rowEditing = Ext.create('Ext.grid.plugin.RowEditing'); 

    var store = Ext.create('MyLodge.store.Members'); 

    Ext.apply(this, { 
     height: this.height, 
     plugins: [rowEditing], 
     store: store, 
     stripeRows: true, 
     columnLines: true, 
     columns: [{ 
      id  :'id', 
      text: 'ID', 
      width: 40, 
      sortable: true, 
      dataIndex: 'id' 
     },{ 
      text : 'Name', 
      flex: 1, 
      sortable : true, 
      dataIndex: 'name', 
      field: { 
       xtype: 'textfield' 
      } 
     },{ 
      text : 'E-Mail', 
      width : 150, 
      sortable : true, 
      dataIndex: 'email', 
      field: { 
       xtype: 'textfield' 
      } 
     },{ 
      text : 'Href', 
      width : 200, 
      sortable : true, 
      dataIndex: 'href', 
      field: { 
       xtype: 'textfield' 
      } 
     }], 
     dockedItems: [{ 
      xtype: 'toolbar', 
      items: [{ 
       text: 'Add', 
       iconCls: 'icon-add', 
       handler: function(){ 
        // empty record 
        store.insert(0, new MyLodge.model.Member()); 
        rowEditing.startEdit(0, 0); 
       } 
      }, { 
       text: 'Delete', 
       iconCls: 'icon-delete', 
       handler: function(){ 
        var selection = grid.getView().getSelectionModel().getSelection()[0]; 
        if (selection) { 
         store.remove(selection); 
        } 
       } 
      },'-',{ 
       text: 'Save', 
       iconCls: 'icon-save', 
       handler: function(){ 
        store.sync(); 

       } 
      }] 
     }] 
    }); 

    this.callParent(arguments); 
} 

});

ответ

4

Вы можете загрузить магазин в обратном вызове синхронизации

store.sync({ 

     success: function(response) { 
       store.load(); 
      } 
}); 
0

Вы, вероятно, хотите вызвать store.reload() в обратном вызове от store.save() (что store.save() так или иначе? Это не является частью Ext.data.Store интерфейса)

+0

обновленного вопрос : заменил store.save() на store.sync() – Kevin

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