kendo grid自定义删除不持久保存到数据源

时间:2013-05-01 18:35:15

标签: kendo-ui kendo-grid

我只想使用自己的工作流程从网格中删除记录。这不是通过Javascript执行此操作的正确方法吗?下面的函数删除了行,但刷新页面显示实际上没有从数据源中删除行,我没有在Chrome的网络选项卡中看到任何请求。我应该补充一点,我能够完美地获得对网格和dataItem的引用。

 function delete(e) {

                var $tr = $(e.currentTarget).closest("tr"),
                    grid = this,
                    dataItem = grid.dataItem($tr),
                    id = $tr.attr(kendo.attr("uid")),
                    model = grid.dataSource.getByUid(id);

                e.preventDefault();           

                grid.dataSource.remove(model);
                grid.dataSource.sync();
    }

编辑 - 以下是我的数据源的定义方式:

$scope.contacts = new kendo.data.DataSource({
            transport: {
                read: {
                    url: apiUrl,
                    dataType: "json",
                    type: "GET"
                },
                update: {
                    url: apiUrl,
                    dataType: "json",
                    type: "POST"
                },
                destroy: {
                    url: apiUrl,
                    type: "DELETE"
                },
                create: {
                    url: apiUrl,
                    dataType: "json",
                    type: "POST"
                }
            },
            pageSize: 10
        });

1 个答案:

答案 0 :(得分:0)

我找到了一些东西,我不知道它是否适合你。 我需要在我的kendo.datasource

中添加这一行
    schema: { 
             model:{id:"id"}
        }

并像这样触发

     data_source_inspection.remove(selected.data);
     data_source_inspection.sync();

这适合我。