防止kendo ui网格弹出编辑器在验证错误后关闭
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了防止kendo ui网格弹出编辑器在验证错误后关闭相关的知识,希望对你有一定的参考价值。
我从服务器返回错误并在kendo datasource错误事件中捕获它。在这个事件中我试图阻止关闭弹出编辑器,但它只是第一次工作,在第二次点击更新后,窗口一直保持关闭状态。
这是一些代码;
dataSource = new kendo.data.DataSource({
transport: {
create: function (e) {
// just posting server with ajax
InsertCity("/city/insert", e.data, function (res) {
var grid = $("#gCity").data("kendoGrid");
if (res.success) {
grid.dataSource.data(res.data);
} else {
e.error("", "", res.error);
grid.cancelChanges();
}
})
},
error: function (e) {
// after throwing error in transport/create, it comes here
var grid = $("#gCity").data("kendoGrid");
grid.one("dataBinding", function (e) {
e.preventDefault();
});
alert(e.errorThrown);
},
pageSize: 20,
schema: {
model: {
id: "ID",
fields: {
Name: { type: "string" }/*,
EndDate: { type: "date" },
CreateDate: { type: "date" }*/
}
}
}
});
$("#gCity").kendoGrid({
dataSource: dataSource,
height: 550,
selectable: "single",
filterable: true,
sortable: true,
pageable: true,
toolbar: [{ name: "new", text: "New" }],
columns: [{ field: "Name", title: "Name" }],
editable: {
mode: "popup",
confirmation: false,
template: kendo.template($("#popup_editor").html())
}
});
我搜索了很多,但找不到解决方案
答案
尝试添加此:
var onWindowEditClose = function (e) {
debugger;
if (preventCloseOnSave) {
e.preventDefault();
preventCloseOnSave = false;
}
};
我是从here得到的
以上是关于防止kendo ui网格弹出编辑器在验证错误后关闭的主要内容,如果未能解决你的问题,请参考以下文章
弹出窗口在 Kendo UI 网格中的工作原理以及如何在 MVC4 的 Kendo UI ajax 网格中将控件带入弹出窗口