Kendo Grid отменяет редактирование события

Я использую событие edit в сетке Kendo, чтобы показать пару скрытых столбцов. Затем я снова их скрою в событии save.

Проблема заключается в том, что, как представляется, не существует события для отмены режима редактирования, поэтому столбец прикручивается, если пользователь нажимает на отмену.

Есть ли недокументированное событие для отмены или мне нужно найти обходное решение?

Ответ 1

В принципе нет такого события "Отмена", однако вы можете присоединить событие click на кнопке "Отмена" в edit событие сетки. Посмотрите пример ниже:

function onEdit(e) {
   e.container.find(".k-grid-cancel").bind("click", function () {
      //your code here
   })
 }

EDIT: С некоторого времени t у Grid есть событие "отменить" , которое можно использовать вместо указанного выше решения:

Ответ 2

Я искал ответ на тот же вопрос, но это не помогло мне. У меня был сценарий, в котором новые и отредактированные записи в моей сетке проверяются в моем контроллере, а сообщения об ошибках добавляются в коллекцию ModelState ModelError. Я подключил событие ошибки источника данных сетки, которое затем отобразило сообщение об ошибке в пределах предупреждения, а затем добавило следующее: reset изменения:

$('#MyGrid').data("kendoGrid").cancelChanges();

Это было удобное решение для меня, потому что я использую пейджинг, и текущая страница, которую пользователь просматривает, сохраняется.

Ответ 3

В отличие от принятых состояний ответа на самом деле существует отменить событие точно так же, как событие редактирования.

$("#grid").kendoGrid({
    ...
    edit: function(e) {
        alert("edit")
    },
    cancel: function(e) {
        alert("cancel");
    },
    ...
});