Kendo UI Grid не может правильно настроить страницу источника данных в событии dataBound?Jquery

Программирование на jquery
Ответить
Anonymous
 Kendo UI Grid не может правильно настроить страницу источника данных в событии dataBound?

Сообщение Anonymous »

Я пытаюсь программно изменить страницу элемента управления Kendo UI Grid, но, похоже, не могу заставить ее полностью работать через событие dataBound, которое предлагается в качестве альтернативы настройке страницы через свойство страницы dataSource, которое по какой-то причине не будет работать с ранее инициализированной сеткой, определенной в коде программной части бритвы ASP.NET MVC, которая не предоставляет свойство страницы (по крайней мере, в версии 2021.2.616)...
Альтернативный код JavaScript меняет страницу, но застревает в рекурсивном цикле, и загрузчик никогда не отключается, поскольку кажется, что он застрял в коде функции обработчика событий dataBound в конце примера ниже:

Код: Выделить всё



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
});

});




Есть ли способ заставить его выйти из цикла или даже установить страницу при инициализации Kendo Grid с помощью кода Razer MVC View?

Подробнее здесь: https://stackoverflow.com/questions/793 ... ound-event
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Jquery»