2011-11-19 3 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을 언급해야합니다. 그런 다음 store.getCount()을 시도

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 
     } 
    }); 

,이 방법은 문제가이 함께 없다 잘 작동합니다.

1

모두의 ExtJS 3, 4 가게에서 레코드 수를 반환 할

store.getCount()

을 사용할 수 있습니다

+0

아니요, 작동하지 않았습니다. "0"값을 반환합니다. –

+0

그래서 그것은 작동 중입니다, 그것은 값을 반환하고 ... 반면에 'undefined'를 반환하는 다른 접근하기 전에. 레코드가로드되지 않는 어딘가에 코드에 문제가 있어야합니다. – JamesHalsall

관련 문제