Kendo UI Grid kann die DataSource-Seite im dataBound-Ereignis nicht richtig festlegen?Jquery

JQuery-Programmierung
Guest
 Kendo UI Grid kann die DataSource-Seite im dataBound-Ereignis nicht richtig festlegen?

Post by Guest »

Ich versuche, die Seite eines Kendo UI Grid-Steuerelements programmgesteuert zu ändern, kann es aber aus irgendeinem Grund einfach nicht über das dataBound-Ereignis vollständig zum Laufen bringen, das als Alternative zum Festlegen der Seite über die Seiteneigenschaft dataSource vorgeschlagen wird funktioniert nicht mit einem zuvor initialisierten ASP.NET MVC Razor Code-Behind-definierten Grid, das die Seiteneigenschaft nicht verfügbar macht (zumindest in Version 2021.2.616)...
Der alternative JavaScript-Code ändert zwar die Seite, bleibt aber in einer rekursiven Schleife hängen und der Loader verschwindet nie, da er im dataBound-Ereignishandler-Funktionscode am Ende des folgenden Beispiels hängenzubleiben scheint:

Code: Select all



html { font-size: 14px; font-family: Arial, Helvetica, sans-serif; }














$(document).ready(function () {
var crudServiceBaseUrl = "https://demos.telerik.com/kendo-ui/service",
dataSource = new kendo.data.DataSource({
transport: {
read:  {
url: crudServiceBaseUrl + "/Products",
dataType: "jsonp",
data: function() {
return {
page: dataSource.page(),
pageSize: dataSource.pageSize()
};
}
},
update: {
url: crudServiceBaseUrl + "/Products/Update",
dataType: "jsonp"
},
destroy: {
url: crudServiceBaseUrl + "/Products/Destroy",
dataType: "jsonp"
},
create: {
url: crudServiceBaseUrl + "/Products/Create",
dataType: "jsonp"
},
parameterMap: function(options, operation) {
if (operation !== "read" && options.models) {
return {models: kendo.stringify(options.models)};
}
}
},
batch: true,
pageSize: 20,
serverPaging: true,
schema: {
model: {
id: "ProductID",
fields: {
ProductID: { editable: false, nullable: true },
ProductName: { validation: { required: true } },
UnitPrice: { type: "number", validation: { required: true, min: 1} },
Discontinued: { type: "boolean" },
UnitsInStock: { type: "number", validation: { min: 0, required: true } }
}
}
}
});

$("#grid").kendoGrid({
dataSource: dataSource,
pageable: true,
height: 550,
toolbar: ["create"],
columns: [
{ field: "ProductID", title: "ID", width: "50px" },
{ field: "ProductName", title: "Product Name" },
{ field: "UnitPrice", title: "Unit Price", format: "{0:c}"  },
{ field: "UnitsInStock", title: "Units In Stock" },
{ command: ["edit", "destroy"], title: " ", width: "150px" }
],
editable: "inline"
});

// Bind to the dataBound event
$("#grid").data("kendoGrid").bind("dataBound", function(e) {
// Change the page value or perform other actions here
console.log("Grid data bound");
$("#grid").data("kendoGrid").dataSource.page(3); // Example: Set page to 3
});

});




Gibt es eine Möglichkeit, die Schleife zu verlassen oder sogar die Seite festzulegen, wenn das Kendo Grid über den Razer MVC View-Code initialisiert wird?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post