1

ローカル データ ソースにバインドされた Kendo UI Grid があります。変更を加えて [変更を保存] をクリックし、[変更をキャンセル] をクリックすると、変更がロールバックされます。私はそれらを保存したので、それらが「ロックイン」されることを期待していました.

さらに、変更を加えて保存し、別の変更を加えて再度保存し、最後にキャンセルすると、両方の変更がロールバックされます。

問題と解決策を含む UPDATED フィドルを参照してください: http://jsfiddle.net/q24ennne/7/

私のHTML:

<div id="grid"></div>

私のJavaScript:

window.gridData = [
{ id: 1, text: "Uno" }, 
{ id: 2, text: "Dos" }, 
{ id: 3, text: "Tres" }, 
{ id: 14, text: "Catorce" }, 
];

(function() {
    $('#grid').kendoGrid({
      toolbar: ["save", "cancel"],
      editable: true,
      saveChanges: function(e) {
        gridData = $('#grid').getKendoGrid().dataSource.data();
        $('#grid').getKendoGrid().refresh();
        console.log("gridData:");
        console.log(gridData);
      },
      columns: [{
        field: "text",
        title: "No."
      }],
      dataSource: {
        data: gridData,
      }
    });
})();

ありがとう!

4

1 に答える 1

0

各項目の ID であるプロパティを指定するデータソースのスキーマを含める必要があります。あなたの場合、これはたまたま「id」とも呼ばれるので、これを追加します。

dataSource: {
  data: gridData,
  schema: {
    model: { id: "id" }
  }
}

グリッドは、保存された変更を正しく追跡して保持します。

于 2016-04-20T20:47:21.230 に答える