2011-11-19 67 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