저는 pageSize 구성을 20으로 언급했으며 독자는 totalCount 구성을 언급했습니다. 나는 자바로 서블릿에 프록시 요청을한다. 서블릿은 MySQL 테이블에서 데이터를 가져오고 500 행을 포함하는 json을 빌드하고 json의 totalCount 구성을 500으로 설정합니다. 마지막에 store.loadPage (1)를 호출합니다. 이 모든 작업에도 불구하고 그리드의 모든 페이지에 500 개의 모든 레코드가로드됩니다. 내가 도대체 뭘 잘못하고있는 겁니까?ExtJS 4.2 pageSize가 작동하지 않습니다.
내가 JSON은 서블릿에서 반환 내 코드
var store = Ext.create('Ext.data.Store', {
model: 'AM.model.User',
pageSize: 20,
proxy: {
type: 'ajax',
url: '/pwbench/FcmServlet',
reader: {
type: 'json',
totalProperty: 'total',
root: 'start'
},
writer: {
type: 'json'
}
},
});
의 몇 스냅 샷을 준 아래의이 [ "총"과 같다 : "500", "시작": [{.... }]]
http://docs.sencha.com/extjs/4.2.1/extjs-build/examples/grid/paging.html에서 그리드 페이징 예제를 확인했는데 내 페이징이 작동하지 않는 이유를 이해할 수 없습니다. 도와주세요.
감사합니다. totalCount는 그리드의 전체 레코드 수를 반영해야한다고 생각했지만 서버 측에서 한 번에 테이블에서 pageSize 레코드 수를 가져와야합니다. –
@existdissolve, 데이터를 제한하기위한 JSON 응답에 대한 사후 쿼리 프로세스 솔루션이 있습니까? –
당신이 그것을 할 방법 (나는 당신이하지 말 것을 강력히 추천한다)은 당신의 모든 레코드를 질의 한 다음 그 레코드들을 반복하는 것입니다 ... "start"행에서 시작하여 "start"+ " pageSize "입니다. 이것은 정말 나쁜 접근입니다. 왜냐하면 처리 시간이 db의 총 레코드 수에 비례하여 증가하기 때문입니다 ... 수백만 레코드가 있다면 상상해보십시오 :) – existdissolve