1

此代码使用龙卷风应用程序从 /api/notes/ 接收的 json 格式数据填充数据网格...

$(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 }
    ],
  });

});

如果我单击创建而不是弹出一行,例如此处使用空参数触发的帖子,这里有data什么问题

4

1 回答 1

1

尝试autoSync删除或设置falseDataSource. 根据文档:

为所做的每个更改启用 (true) 或禁用 (false) 自动调用 sync() 方法。

所以我认为当您尝试插入该行时,它会立即将其放入 DataSource 中,导致它执行sync(). 您链接到的演示也没有指定autoSync

于 2012-12-13T03:32:57.833 回答