如何在没有页面刷新的情况下更新extjs中的网格数据?请给我一个完整的工作代码我是extjs的新手。这是我的代码
Ext.Ajax.request({
url: 'register.cfm',
method:'POST',
params : { data : JSON.stringify(form.getValues()) },
dataType: "json",
success: function(response){
win.hide();
//var str = JSON.stringify(response.responseText);
var obj = JSON.parse(response.responseText);
if (obj==1) {
var values = form.getFieldValues ();
store.add(form.getFieldValues())
} else {
(here i need to show updated values in the grid without refresh)
}
},
failure : function(response){}
}); // eof ajax
答案 0 :(得分:1)
我认为这里的问题是您手动尝试通过ajax更新商店。
应该对商店进行预先配置,以便与您的终端配合使用并进行自我更新。如果您使用ExtJS 4+,则可以使用Store Documentation。
中所示的商店过滤器如果您使用的是ExtJs 3,那么您应该更新商店中的参数并让它处理请求并更新记录。
例如(代码未经过全面测试,可能需要稍作修改):
Ext.getCmp('myGrid').getStore().load({
params: {
data: JSON.stringify(form.getValues())
}
});
答案 1 :(得分:0)
由于你甚至没有发布你的网格名称,我不能提供超过
Ext.getCmp('yourGridId').getView().refresh();
应该在
之后调用store.add(form.getFieldValues())
(你错过了 ;
吗?)