2012-01-10 1 views
0

서버에서 약 200 개의 레코드를로드하는 Grid Panel이 있습니다. 페이징 막대를 구현하여 페이지 당 10 개의 레코드를로드 할 수 있습니다. 그러나 사용자가 정렬 할 열 (예 : 고객)을 클릭하면 로컬 10 개의 행만 정렬됩니다.Ext JS 4로 클라이언트 측 정렬을 수행하려면 어떻게해야합니까?

다음 페이지로 이동하면 정렬되지 않고 혼란스러워집니다. 한 번에 200 개의 모든 레코드를 가져 와서 페이징을 시도하는 방법에 대해 생각했습니다. 나는 그것이 최선의 방법은 아니지만 다른 해결책을 생각할 수 없다는 것을 알고 있습니다.

더하기, 우리의 원격 정렬 루틴은 타이밍 제약으로 인해 실제로 변경 될 수 없습니다. offsetlimit 만 처리합니다. 그래서 쉽게 모든 200 아래로 가져올 수 있지만 열을 정렬 방법을 변경할 수 없습니다.

감사합니다.

답변

2

나는 당신이 그것을하고있는 방식이 (내가 100 % 이유가 아니더라도 200 개의 결과를 그 자리에 정렬 할 수 없기 때문에) 가장 합리적이라고 생각한다. 사용자가 선택한 정렬 옵션을 기억하고이를 다음 페이지로 전달하는 방법을 구현하기 만하면됩니다.

편집 : http://docs.sencha.com/ext-js/4-0/#!/guide/data에는 정렬 섹션이 있습니다. 또한 http://docs.sencha.com/ext-js/4-0/#!/api/Ext.data.SortTypes을 들여다보십시오.

+0

글쎄, 우리 서버 측 코드는 열별로 정렬을 허용하지 않으며 (불행히도) 우리는 언제든지 변경할 수 없습니다. 그리드에는 10-15 열이있을 수 있습니다. 한 번에 200 개의 모든 레코드를 표시하고 싶지 않습니다. 따라서 "다음 페이지"를 클릭하면 원격으로가 아니라 로컬로 당깁니다. 그 말이 맞는다면. – cbmeeks

+0

아, 혼란 스러웠습니다. "그래서 쉽게 모든 200을 가져올 수 있지만 열 정렬 방법을 변경할 수는 없습니다."일단 클라이언트 크기가 200 인 클라이언트가 있으면 일단 변경 될 수 있다고 생각했습니다. 불변입니다. – Andrew

+0

죄송합니다. 예, '서버'열이 정렬되는 방식을 변경할 수 없다는 의미였습니다. 기본적으로 검색 (서버 측)은 오래 동안 돌에 새겨 져 있습니다. 그래서 나는 클라이언트 측만을 분류 할 수있을 것이다. – cbmeeks

관련 문제