2012-06-04 60 views
0

我是extjs的新手,並且正在根據Ext.data.store()中的記錄數創建動態屏幕。 getTotalCount/getCount用於從商店獲取記錄的數量。我需要的總記錄沒有保存在一個變種,並將其返回商店中沒有記錄沒有返回extjs

我試圖做這樣的事情

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(),但我得到同樣的問題。

不知道我在哪裏出錯

回答

1

你的邏輯有點戳在這裏。您無法觸發將監聽器添加到存儲完成加載時掛鉤的存儲的功能。 (你可以,但是這是一個微妙的錯誤)。

你需要做的是在包含你想使用的號碼的功能,當你創建它的商店,聲明的監聽器。

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); 
+0

嗨亞歷克斯我試圖用,但我得到的錯誤「null爲空或不是對象」 –