此代码使用龙卷风应用程序从/ api / notes /收到的json格式数据填充datagrid ...
$(document).ready(function () {
dataSource = new kendo.data.DataSource({
pageSize: 10,
autoSync: true,
transport: {
read: {
url: '/api/notes/',
dataType: 'json',
type: 'GET'
},
create: {
url: '/api/notes/',
dataType: 'json',
type: 'POST'
},
update: {
url: '/api/notes/',
dataType: 'json',
type: 'PUT'
}
},
schema: {
data: function(reply) { return reply.rows; },
model: {
id: "id",
fields: {
id: { type: "string" },
name: { type: "string" },
author: { type: "string" },
}
}
},
});
$("#grid").kendoGrid({
dataSource: dataSource,
navigatable: true,
pageable: true,
height: 300,
editable: true,
toolbar: ["create", "save", "cancel"],
columns: [
{ field: "id", title: "ID", width: 150 },
{ field: "name", title: "Book", width: 150 },
{ field: "author", title: "Author", width: 100 },
{ command: "destroy", title: " ", width: 110 }
],
});
});
如果我点击“创建”而不是弹出一行,例如here使用空data
参数触发的帖子,那么这里有什么问题
答案 0 :(得分:1)
尝试删除autoSync
或将false
设置为DataSource
。根据文件:
为每次更改启用(true)或禁用(false)自动调用sync()方法。
所以我认为当你尝试插入行时,会立即将它放入DataSource,导致它执行sync()
。您链接到的演示也未指定autoSync
。