$("#grid").kendoGrid({
dataSource: {
transport: {
read: function(options) {
$.ajax( {
url: "/api/mygetfunction",
data: options.data,
success: function(result) {
options.success(result);
}
});
},
update: function (options) {
$.ajax({
url: "/api/myupdatefunction",
data: options.data,
success: function (result) {
options.success(result);
}
});
},
destroy: function (options) {
$.ajax({
url: "/api/mydestroyfunction",
data: options.data,
success: function (result) {
options.success(result);
}
});
},
create: function (options) {
$.ajax({
url: "/api/mycreatefunction",
type: 'POST',
data: ...
});
},
parameterMap: function (options, operation) {
if (operation !== "read") {
return JSON.stringify(options);
}
}
},
schema: {
id: "Id",
model: {
fields: {
Id: { type: "string" },
Description: { type: "string" }
}
}
},
pageSize: 10,
serverPaging: false,
serverFiltering: false,
serverSorting: false,
batch: false
},
toolbar: ["create"],
filterable: true,
sortable: true,
pageable: true,
columns: [
{
field: "Description",
title: "Description"
},
{ command: ["edit", "destroy"], title: " ", width: "210px" }
],
editable: "inline"
});
グリッドには3つの行があります。[編集]をクリックすると、説明列が変更されます。次に、[更新]をクリックすると、グリッドがトランスポート構成の「作成」を実行します。バッチをfalseに設定しましたが、奇妙なことに、変更された行の代わりに3つの作成があります。
グリッドを編集すると、更新ではなく作成が発生する理由は何ですか?