2011-11-19 66 views
0

我有一個店是這樣的:店totalLength ExtJS的

var store = new Ext.data.Store({ 
    id: 'store', 
    url: 'user-list', 
    remoteSort: true, 
    reader: new Ext.data.JsonReader({ 
     root: 'data', 
     totalProperty: 'result', 
     id: 'id' 
    }, [....]) 
}); 
store.load({ 
    params: { 
     start: 0, 
     limit: myPageSize 
    } 
}); 

我如何訪問totalLength了我的陣列。 我用這下面的語句,但他們沒有工作:

console.log(store.totalLength) 

console.log(this.store.totalLength) 

console.log(store.getTotalCount()) 

console.log(this.store.getTotalCount()) 

他們返回「未定義」的結果。

我的服務器JSON結果是這樣的:

success:true 

result:26 

data:[Object] 

回答

1

你應該提及代理屬性中的URL。

var store = new Ext.data.Store({ 
     id:'store', 
     proxy: new Ext.data.HttpProxy({ 
     url: 'user-list' 
    }), 
     remoteSort: true, 
     reader: new Ext.data.JsonReader(
      { 
      root:'data', 
      totalProperty: 'result', 
      id:'id' 
      }, [ 
      .... 
      ] 
    ) 
    }); 


store.load({ 
     params: { 
      start: 0,   
      limit: myPageSize 
     } 
    }); 

然後嘗試store.getCount(),這種方法工作正常,這是沒有問題的。

1

在這兩個ExtJS的3和4,你可以使用

store.getCount()

在店裏返回的記錄數

+0

不,它沒有工作,它返回「0」值。 –

+0

所以它正在工作,它返回一個值...而在你的其他方法返回'未定義'之前。您的代碼在某處存在導致記錄無法加載的問題 – JamesHalsall