我正在使用ExtJS,当我删除网格中的一行时,我想让它自动刷新。但到目前为止没有运气。 这是我的网格,最后是删除功能
Ext.define('CrudExt.view.usuario.Grid',{
extend: 'Ext.grid.Panel',
title : 'Lista brandova',
itemId : 'usuarioGrid',
xtype : 'usuariogrid',
store : 'Usuarios',
initComponent: function(){
this.columns = [
{ header: 'Sifra', dataIndex: 'sifra' },
{ header: 'Brand', dataIndex: 'brand'}
];
this.dockedItems = [
{
xtype: 'toolbar',
dock: 'top',
items: [
{
xtype: 'button',
text: 'Dodaj',
iconCls: 'add',
action: 'add'
},
{
text : 'Izbriši brand',
tooltip: 'Stisni za izbrisati brand.',
iconCls: 'delete',
itemId: 'delete',
scope: this,
handler: this.onDeleteClick
},
{
text: 'Izmjeni',
iconCls: 'edit',
action: 'edit'
}
]
},
{
xtype: 'pagingtoolbar',
store: 'Usuarios',
dock: 'bottom',
displayInfo: true
}
];
this.callParent(arguments);
},
onDeleteClick: function(grid){
Ext.Msg.show({
title:'Confirm Delete',
msg: 'Deleting this document will delete ALL users associated with this group.<br />ARE YOU SURE? Press "Yes" to delete.',
buttons: Ext.Msg.YESNO,
fn: processResult,
icon: Ext.MessageBox.WARNING,
scope: this
});
function processResult(buttonId){
if (buttonId == 'yes'){
var selection = this.getView().getSelectionModel().getSelection()[0];
var rev = selection.get('sifra');
Ext.Ajax.request
({
url : 'brand/delete/'+rev,
success : function(response)
{
}
});
//console.log(rev);
} else {
Ext.Msg.alert('The document has NOT been deleted');
}
};
}
});
我做了什么,我尝试在delte的成功中添加以下行,但没有一个工作:
grid.getStore().load();
store.reload();
store.load();
store.sync();
this.getStore.load();
Ext.getCmp('usuarioGrid').getView().refresh();
grid.getView().refresh();
答案 0 :(得分:0)
success:function(response){
grid.store.remove(record);
me.getStore().reload();
}
为我工作!!
答案 1 :(得分:0)
使用Store.indexOf()
方法查找记录的索引,并使用Store.removeAt()
方法删除记录。
我认为这可行。