我只想使用自己的工作流程从网格中删除记录。这不是通过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
});
答案 0 :(得分:0)
我找到了一些东西,我不知道它是否适合你。 我需要在我的kendo.datasource
中添加这一行 schema: {
model:{id:"id"}
}
并像这样触发
data_source_inspection.remove(selected.data);
data_source_inspection.sync();
这适合我。