我正在使用 KendoUI Grid 在启用了 KnockoutJS MVVM 的应用程序中显示我的数据。由于 MVVM 是客户端的体系结构,我正在维护一个 knockoutjs 可观察数组并将数据从服务器加载到该数组。
self.loadForGrid = function() {
$.ajax({
url: "api/matchingservicewebapi/GetAllMatchItemForClient/1",
type: 'GET',
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function (data) {
console.log(data);
$.each(data, function (i, obj) {
self.users.push(self.items.push({ BirthDate: obj.BDate, Ref: obj.Ref, Amount: obj.Amount, Account: obj.Account, MatchItem_Id: obj.MatchItem_Id }));
});
window.alert('User(s) loaded successfully');
},
statusCode: {
401: function (jqXHR, textStatus, errorThrown) {
alert('Error loading users2');
}
}
});
};
这工作正常。但我想为我的网格实现分页。我可以像这样在客户端做到这一点。这是我的视图模型代码。
self.items = ko.observableArray([]);
ko.bindingHandlers.kendoGrid.options = {
groupable: true,
scrollable: true,
sortable: true,
pageable: {
pageSizes: [5, 10, 15]
}
};
这是我在 HTML 文件中的绑定(我使用了Knockout-Kendo.js)。
<div data-bind="kendoGrid: items"> </div>
但我想要的是启用服务器分页。这意味着当我转到下一页(当我转到第 2 页时)时,我希望将数据(比如说第 2 页的数据)再次加载到我的 knockoutjs 可观察数组中。我怎样才能做到这一点?
先感谢您。