存储中的记录数量未在 extJS 中返回



我是extjs的新手,正在努力根据 Ext.data.store()中的记录数创建一个动态屏幕; getTotalCount/getCount用于从存储中获取记录数。我需要将记录总数存储在 var 中并返回

我正在尝试做这样的事情

function Get_count()
{  
     var num;                            
     CacheStore.on({
           'load':{
            fn : function(store,records,options){
                    num = getTotalCount();
                    //console.info('Store count = ', tsize);
                    //console.info(' count = ', getCount());
            },
            scope: this
    },
    'loadexception' : {
            fn : function (obj,options,response,e){
                    //console.info('error = ', e);
            },
    scope : this
    }
});
     // this is a wrong logic but have to do something similar 
    //return num;  //return num 
    };
    tsize  = Get_count();

我总是在 tsize 中得到空。我也尝试了getCount()而不是getTotalCount(),但我遇到了同样的问题。

不知道我哪里出错了

你的逻辑在这里有点戳。不能触发将侦听器添加到存储的函数,该侦听器将在存储完成加载时挂钩。(好吧,你可以,但这是一个微妙的错误)。

您需要做的是在创建存储时在存储区上声明一个侦听器,其中包含要在其中使用该数字的函数。

cacheStore =Ext.create...
cacheStore.on('load',function(store,records,e){
    //dosomestuff that needs the count
    var num=  store.totalCount()
    //now you use the num in here, else you create an async error
    //or you can ...
    my.someFunc(num); 
    //in here, but you can only run it after the store has loaded
},this);

相关内容

  • 没有找到相关文章

最新更新