IBM BusinessSpace 용 위젯을 만들고 있는데 페이징에 어려움이 있습니다. 데이터가 (restlet을 사용하여) 데이터베이스에서 성공적으로 반환되고 표에 표시됩니다. 탐색은 격자 아래에 표시됩니다 (다음 페이지, 이전 페이지, 페이지로 이동, 페이지 수 등). 예를 들어 페이지 당 3 개의 페이지, 5 개의 행이 있고 두 번째 페이지로 이동하려는 경우 페이지 번호 2를 클릭하면 데이터가 다시로드됩니다 (다시 호출되는 것처럼 보임). 첫 번째 5 개의 행 (첫 번째 페이지에 표시됨)이이 페이지에도 표시됩니다. 다른 탐색 옵션 (다음 페이지, ...)을 선택하면 같은 일이 발생합니다. 결론은 모든 클릭이 내 데이터베이스의 처음 5 행에 있음을 의미합니다. 이 문제를 해결하는 방법에 대한 단서가 있습니까? 그리드에 jsonRest를 사용하는 경우이 순간에 아직로드되지 표시된 레코드를 스크롤 할 때, jsonRest가 표시하는 데 필요한 데이터에 대한 요청을JsonRest with EnhancedGrid를 사용하여 페이징이 작동하지 않습니다.
dojo.require("dojo.data.ObjectStore");
dojo.require("dojox.grid.enhanced.plugins.Pagination");
dojo.require("dojox.grid.EnhancedGrid");
dojo.require("dojo.store.JsonRest");
var restStore = new dojo.store.JsonRest({target:"https://localhost:9443/Application/hello"});
var dataStore = dojo.data.ObjectStore({objectStore: restStore});
dojo.ready(function(){
var grid = new dojox.grid.EnhancedGrid({
store: dataStore, <br>
structure: [
{name:"Value", field:"value", width: "auto"},
{name:"RequestID", field:"requestId", width: "auto"},
{name:"ID", field:"id", width: "auto"},
{name:"Name", field:"name", width: "auto"}
],
columnReordering: true,
clientSort: true,
rowSelector: '20px',
rowsPerPage: 5,
autoHeight: true,
plugins: {
pagination: {
pageSizes: ["5", "10", "15", "All"], // page length menu options
description: true, // display the current position
sizeSwitch: true, // display the page length menu
pageStepper: true, // display the page navigation choices
gotoButton: true, // go to page button
position: "bottom" // position of the pagination bar
}
}
}, "gridDiv");
grid.startup();
});
여기서 서버 측 구현을 추가하십시오. –