2014-07-16 4 views
0

저는 스프링 웹 서비스를 실행하고 있습니다. mongodb를 백엔드로 사용하고 검도 UI 그리드를 사용하여 데이터를 표시합니다. 난 검도 UI 그리드의 serverPagination 제대로 작동하지 않기 때문에 사용자 지정 서버 측면 페이지 매김을 구현하려고 해요.검도 UI 그리드 서버 페이지 매김 호환성

다음과 같이 내 json 응답을 여러 페이지로 나누는 웹 서비스를 설정했습니다. 내가 페이지에서 격자 페이지에이 데이터를로드 할 수 있는지 그렇다면 내 질문은

path/to/json/1 
path/to/json/2 
path/to/json/3 

는, 검도 UI 그리드와 호환이 형식입니다.

특정 URL을 사용하는 것과 마찬가지로 내 서버 측 응답이 바뀌고 검도 표에서 모든 데이터라고 가정하고 문제가 발생하여 한 페이지 만 맨 아래에 표시합니다.

따라서 지금은 (10 말) 원래 크기의 JSON 배열을 반환하고, pageSize가 5 인 경우, 다음은 내 서버의 응답입니다 :

x가 빈 OBJ입니다
Page 1 Page 2 
1   x 
2   x 
3   x 
4   x 
5   x 
x   6 
x   7 
x   8 
x   9 
x   10 

.

이론적으로 페이지 1에서 검도 그리드는 처음 5 개의 요소를로드하고 페이지 2는 빈 것으로 채 웁니다. 2 페이지를 클릭하면 다음 5 개의 요소가로드되고 페이지 1에는 빈 요소가 채워집니다. 이렇게하면 kendo gird는 json의 전체 크기를 알 수 있으며이를 기반으로 페이지를 인스턴스화 할 수 있습니다.

그러나 지금 문제는 페이지 1에 대해 검도 그리드가 분할하는 대신 모든 10 개의 요소와 페이지 2를로드한다는 것입니다.

이 문제를 해결하는 데 이상적인 아이디어가 있습니까? 아니면 이보다 효율적인 방법이 있습니까?

답변

0

당신이 다음과 같이 읽기 URL을 설정해야합니다보다 페이지 번호에 따라 값을 읽으려면 :

read: { 
    url: "path/to/json/#= getCurrentPage() #" 
} 

JS를 :

function getCurrentPage() { 
    return $("#grid").data("kendoGrid").dataSource.page(); 
} 

을 알려주세요 위의 내용이 귀하의 필요를 충족시키지 못하거나 질문이있는 경우.

+0

위와 같이 서버의 응답이 변경되었습니다. 그것을 확인할 수 있습니까? – anshk9

0

내 목록의 전체 크기를 얻기 위해 ajax GET 요청을 사용하여 total 변수의 값을 transport.schema에서 동적으로 변경할 수 있습니다. 이제 페이지 당 json을 반환하고 위의 코드를 수행하지 않아도됩니다. 그것은 잘 작동합니다.