日期:2014-05-16  浏览次数:20356 次

Ext store.reload()之后,无法获取最新的数据?
在新增一条数据成功后,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());
}
}