Запретить Kendo Grid от автоматического сохранения - PullRequest
0 голосов
/ 06 апреля 2020

Как я могу остановить работу сетки / источника данных kendo, автоматически публикующих изменения на сервере?

Я пытался перехватить saveChanges в Grid, но он не запускается командой "Обновлено". Согласно документам , автосинхронизация DataSource c по умолчанию должна быть ложной, но я все равно настроил ее, но безрезультатно.

$("#items-grid").kendoGrid({
 dataSource: {
autoSync: false,
type: "json",
transport: {
    read: {
        url: "@Html.Raw(Url.Action("
        ItemList ", "
        PurchaseRequisition ", new {prId = @Model.Id }))",
        type: "POST",
        dataType: "json",
    },
    update: {
        url: "@Html.Raw(Url.Action("
        ItemEdit ", "
        PurchaseRequisition "))",
        type: "POST",
        dataType: "json",
    }
},
sync: function(e) {
    console.log("sync complete");
},
schema: {
    data: "Data",
    total: "Total",
    errors: "Errors",
    model: {
        id: "Id",
        fields: {
            /...
        }
    }
},
 },
  saveChanges: function(e) {
  // not fired from  Update command
  e.preventDefault();
 },
  columns: [{
// ...
   }, {
     command: [{
    name: "edit",
    text: {
        edit: "Edit",
        update: "Update",
        cancel: "Cancel"
    }
}],
width: 100

  }]
});
   });

1 Ответ

1 голос
/ 06 апреля 2020

Вы можете попробовать с dataSource, установленным в true.

var dataSource = new kendo.data.DataSource({
  transport: {...},
  batch: true
  ...}

$("#grid").kendoGrid({
  dataSource: dataSource,
  navigatable: true,
  pageable: true,
  height: 550,
  toolbar: ["create", "save", "cancel"],
  columns: [...],
  editable: true
});

ПРИМЕЧАНИЕ : это встроенное редактирование.

Вы можете увидеть пример на официальной странице: Пакетное редактирование

...