У меня есть KendoGrid и я хочу обнаружить завершение всех манипуляций (включая манипуляции с html) после чтения ().Как я могу перехватить это событие?
Я пытался использовать событие RequestEnd с типом «read», но после перехвата этого события Kendo изменяет некоторый HTML-код на странице.
Обновление последобавление базы данных
У меня есть KendoSortable, привязанный к KendoGrid, который содержит столбец с позициями.После изменения позиции (функция onChange) мне нужно заблокировать страницу (функция showLoader) и обновить позиции.Поскольку позиции изменились, данные сетки (столбец с позициями) необходимо перезагрузить с помощью read ().И ПОСЛЕ чтения () мне нужно разблокировать страницу с помощью hideLoader.Итак, теперь, если я не отсоединяю onDataBound, моя страница разблокируется после удаления / вставки.
function onDataBound(e) {
if (ir == 0) {
updatePostion();
}
else {
hideLoader();
}
ir++;
}
function onChange(e) {
var grid = $("#TestQuestionAnswerList").data("kendoGrid");
grid.unbind("dataBound");
var newIndex = e.newIndex;
var dataItem = grid.dataSource.getByUid(e.item.data("uid"));
grid.dataSource.remove(dataItem);
grid.dataSource.insert(newIndex, dataItem);
grid.bind("dataBound", onDataBound);
showLoader();
updatePostion();
}
function updatePostion() {
if (@Model.Type == 3) {
var positions = [];
grid._data.forEach(function (entry) {
positions.push(entry.ID);
});
var dataToPost = { positions: positions, questionID: @Model.ID };
$.ajax({
url: '@Url.Action("ChangePositions", "Testing")',
type: 'POST',
data: JSON.stringify(dataToPost),
datatype: 'json',
cache: false,
contentType: "application/jsonrequest; charset=utf-8",
success: function (data) {
grid.dataSource.read();
},
error: function () {
hideLoader();
alert("error");
}
});
}
else {
grid.dataSource.read();
}
}