kendogrid批量编辑追加行导致发布数据

时间:2012-12-12 16:11:12

标签: datagrid kendo-ui

此代码使用龙卷风应用程序从/ 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参数触发的帖子,那么这里有什么问题

1 个答案:

答案 0 :(得分:1)

尝试删除autoSync或将false设置为DataSource。根据文件:

  

为每次更改启用(true)或禁用(false)自动调用sync()方法。

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