我正在使用这个ExtJS 4
应用,我可以在其中管理应用用户。
表单会弹出窗口floating: true
。
var user_grid_form = Ext.create('Ext.form.Panel',
{
xtype : 'form-grid',
frame : true,
title : 'User Information',
floating : true,
draggable : true,
closable : true,
closeAction : 'hide',
bodyPadding : 5,
layout : 'column',
closeAction : 'destroy',
width : 532,
items :
[
user_grid,
user_textfield
],
buttons :
[
{
text : 'Save Edits',
icon : 'images/save.png',
handler : handleUpdates
},
{
text : 'Delete User',
icon : 'images/delete.png',
handler : handleDeletes
}
]
}).show();
user_grid
是我的窗口面板中显示usernames
现在,问题在于,当我选择用户名时,就像jhony
并按Delete User
我的handleDeletes
通过Ajax
更新数据库。但后来我尝试刷新user_grid
并且它不起作用。 删除后,用户应该从user_grid
这是我在handleDeletes
:
user_store.splice(ind, 1); // I removed `jhony` from `user_store`
// which is the `store` for `user_grid`
user_grid.getView().refresh(); // Now trying to refresh and NO ERRORS NO ACTIONS
感谢您提供任何线索。
答案 0 :(得分:1)
实际上,你想要做的是:
user_grid.getStore().remove(yourRecord); //remove record from the store and also from the grid view
user_grid.getStore().sync(); //send changes to the server
答案 1 :(得分:0)
而不是
user_grid.getView().refresh();
尝试
user_grid.store.load();
如果在服务器端执行删除,则无需在商店中执行任何其他操作(拼接)。
答案 2 :(得分:0)
感谢您的回答 dbrin
,但它无效。
我认为无需触摸user_grid
网格面板。我只需要更新它store
。
这家商店有data
,一旦我这样做,一切正常:
user_store.splice(ind, 1);
u_store.load(user_store);
// u_store is the store that has user_store data