我只是想使用自己的工作流程从网格中删除记录。这不是通过 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
});