在新增一条数据成功后,store.reload(),调试发现store的确是重新加载了,可是问题出现了,请高手指点一二,基本代码如下:
- JScript code
//定义一个USERstore var fields = ["user_no","user_id","user_name","lpwd","shop_no","shop_name","isadmin","lltime","available"]; var USERstore = new Ext.data.GroupingStore({ proxy:new Ext.data.HttpProxy( { url:"sys_user_info.aspx", method:"POST" }), reader:new Ext.data.JsonReader( { fields:fields, root:"data", id:"user_no", totalProperty:"totalCount" }), sortInfo:{field:'user_no',direction: "ASC"} }); //加载时参数 USERstore.load({params:{start:0,limit:pageSize}}); //增加数据页面提交处理 EditUserInfofp.form.submit({ url:"user_edit.aspx, params:{dp_datas:jsonData}, method:"POST", success:function(form,action) { Ext.MessageBox.show({ title: '恭喜', msg:'信息保存成功!', icon:Ext.MessageBox.INFO }); //刷新数据集 USERstore.reload(); [b][color=#FF0000][size=12px]此处调试过USERstore,的确从后台已经重新加载,数据是最新的,可是引用USERstore,却发现还是之前的数据,而并非最新的数据,why???[/size][/color][/b]EditUserInfoWin.hide(); }, failure:function(form,action) { Ext.MessageBox.show({ title: '提示', msg:'保存信息失败!', icon:Ext.MessageBox.ERROR }); } });
------解决方案--------------------
前一个load需要在刷新一次吧?
------解决方案--------------------
reload也是一个异步操作。
你在reload后面获取它的值不一定是最新的值
你要写在
store的load事件中
listeners:{
load:function(){
alert(store.getCount());
}
}