gpt4 book ai didi

kendo-ui - 剑道网格删除命令不起作用

转载 作者:行者123 更新时间:2023-12-03 15:13:29 26 4
gpt4 key购买 nike

我使用 开发了一个 Web 应用程序剑道 ui 工具 还有一个带有的剑道网格批量编辑模式 ..

但是当我按下剑道网格中任何记录的删除按钮时,它将从网格列表中删除,但实际上不在数据源中。当我重新加载页面或网格时,删除的项目仍然存在。

这是我的网格的代码

<div id="grid">
</div>
<script type="text/javascript">

$("#submitMarketUser").click(function () {
var grid = $("#grid").data("kendoGrid");
var dataSource = new kendo.data.DataSource({
transport: {
read: {
url: "WholeSaleTrade/GetTradeProductDetail",
dataType: "json",
data: {
test: $("#Names").val()
}
},
destroy: {
url: "WholeSaleTrade/DeletePro",
type: "POST",
dataType: "jsonp",
data: {
DAKy: $("#Names").val(),
DIKy: $("#btntxt").val()
}
},
create: {
url: "WholeSaleTrade/CreateProduct",
type: "POST",
dataType: "jsonp",
data: {
AKy: $("#Names").val(),
IKy: $("#btntxt").val()
}
}
},
pageSize: 5,
schema: {
model: {
id: "ProductKey",
fields: {
ProductKey: { editable: false, nullable: true },
ProductName: { validation: { required: true} }
}
}
}
});
$("#grid").kendoGrid({
dataSource: dataSource,
editable: true,
toolbar: ["create", "save"],
autobind: true,
pageable: true,
columns: [
{ field: "ProductName", title: "Product Name",
editor: function (container, options) {
var model = options.model;
$('<input id="btntxt" name="' + options.field + '"/>').appendTo(container).kendoComboBox({
dataSource: {
type: "POST",
transport: {
read: {
url: "MarketInformation/PopulateProducts",
success: function (data) {
var prod = data[0];
model.set("ProductName", prod.ItmNm);
model.set("ItmKy", prod.ItmKy);
model.set("UserKey", $("#Names").val());
}
}
}
},

dataValueField: "ItmKy",
dataTextField: "ItmNm"
});
}
},
{ command: ["destroy"], title: "&nbsp;" }
]
});
});

</script>

无法确定故障在哪里,有人可以帮我解决这个问题。

最佳答案

如果您选择不包含 editable.mode为了利用单元内编辑,您可以设置 toolbar包含选项 save 的网格:

$("#grid").kendoGrid({
dataSource: {
transport: {
....
},
schema: {
....
}
},
toolbar: ["create", "save", "cancel"],
columns: [
....
],
editable: true
});

这将创建一个 save网格工具栏上的按钮。通过单击 destroy 删除任何记录后命令按钮,点击 save按钮让网格向服务器发出 Ajax 调用以删除记录。

如果您希望自动删除记录而不包括 save按钮,您可以添加 change datasource 的事件处理程序网格:
$("#grid").kendoGrid({
dataSource: {
transport: {
....
},
schema: {
....
},
change: function(e) {
if (e.action === "remove") {
this.sync();
}
}
},
columns: [
....
],
editable: true
});

当有数据更改时,这将自动将您对网格所做的更改与服务器同步。

关于kendo-ui - 剑道网格删除命令不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17539621/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com