我有一个创建/删除的kendo网格,它们都以错误结尾。 我想:。
请看这个小提琴: http://jsfiddle.net/andreigavrila/p49eV/2/
var data = [
{ Id: 1, Name: "Decision 1", Code: 1 },
{ Id: 2, Name: "Decision 2", Code: 2 },
{ Id: 3, Name: "Decision 3", Code: 3 }
];
$("#grid").kendoGrid({
dataSource: {
error: function (a) {
console.log('error');
$('#grid').data("kendoGrid").cancelChanges();
//$('#grid').data("kendoGrid").one("dataBinding", function (e) {
//e.preventDefault(); // cancel grid rebind
//});
},
transport: {
read: function(e) {
e.success({data: data});
},
create: function(e) {
console.log('creating');
e.error();
},
destroy: function(e) {
console.log('deleting')
e.error();
}
},
schema: {
data: "data",
model: {
id: "Id",
fields: {
Id: { type: "number" },
Code: { type: "number" },
Name: { type: "string" }
}
}
}
},
toolbar: ["create"],
columns: [
{ field: "Code", title: "Code", },
{ field: "Name", title: "Name" },
{ command: ["destroy"], title: " " }],
editable: {
mode: "popup"
}
});
默认情况下第二点有效(因此在创建时出现错误不会关闭弹出窗口)
第一点的工作原理是添加错误功能,但会破坏弹出窗口(错误时会关闭)。
所以我可以同时拥有一个,但不能同时拥有两个。我有点卡住了。 我还在剑道论坛上看到了这两个问题:
第二个链接表示“为防止Grid关闭,您需要阻止下一个dataBinding事件。”但我无法做到这一点。
感谢您的帮助。
安德烈
答案 0 :(得分:3)
我终于设法将其推向了剑道论坛:
“我建议你在错误事件处理程序中使用if条件 确定应该执行哪两个变通办法。在这 case服务器应提供有关错误类型的信息 发生了。您可以从错误事件中检索错误状态 参数“。