Я создаю виджет для IBM BusinessSpace, и у меня возникают трудности с пейджингом. Данные успешно возвращаются из базы данных (с помощью рестлета) и отображаются в сетке. Навигация также отображается под сеткой (следующая страница, предыдущая страница, переход на страницу, количество страниц и т. д.). Если у меня, например, 3 страницы, 5 строк на странице, и я хочу перейти на вторую страницу, когда я нажимаю на страницу номер 2, данные перезагружаются (похоже, снова вызывается рестлет), и первые 5 строк (отображается на первой странице) показаны и на этой. Если я выберу любой другой вариант навигации (следующая страница, ...), произойдет то же самое. В итоге каждый щелчок приводит к появлению первых 5 строк из моей базы данных. Любая подсказка о том, как решить эту проблему?
Вот код по этому поводу:
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();
});