Ich verwende KendoUI Grid, um meine Daten in einer KnockoutJS MVVM-fähigen Anwendung anzuzeigen. Da MVVM die Architektur für die Clientseite ist, verwalte ich ein beobachtbares Array von knockoutjs und lade Daten von dem Server zu diesem Array.KendoUI Grid Server Paginierung
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');
}
}
});
};
Das funktioniert gut. Aber ich möchte die Seitennummerierung für mein Raster implementieren. Ich kann es so auf der Client-Seite machen. Das ist mein Viewmodel-Code.
self.items = ko.observableArray([]);
ko.bindingHandlers.kendoGrid.options = {
groupable: true,
scrollable: true,
sortable: true,
pageable: {
pageSizes: [5, 10, 15]
}
};
Und das ist meine in HTML-Datei Bindung (Ich habe die Knockout-Kendo.js verwendet).
<div data-bind="kendoGrid: items"> </div>
Aber was ich will, ist Server Paginierung aktivieren. Das bedeutet, dass ich möchte, dass die Daten wieder in mein beobachtbares Array geladen werden, wenn ich auf die nächste Seite gehe (wenn ich auf Seite 2 gehe). Wie kann ich das machen?
Vielen Dank im Voraus.