我正在使用Kendo UI Grid MVC。当从网格中删除一行,并且服务器上发生错误时,会向用户显示错误(基于存储在ModelState中的内容),但是该行仍然应该从网格中删除不被删除。如何防止Kendo在服务器错误中从网格中删除行?
答案 0 :(得分:4)
作为解决方法,您可以尝试捕获网格dataSource error
事件,并在发生时使用canelChanges()
方法:
...
.DataSource(dataSource => dataSource
...
.Events(events => events.Error("onGridError"))
)
在JavaScript中:
function onGridError() {
var grid = $("#grid").data("kendoGrid");
grid.cancelChanges();
}
答案 1 :(得分:0)
Jaroslaw Koriczak的回答在技术上是准确的,但是他访问网格的效率很低。 Kendo事件在调用其函数时会将网格数据源作为“ this”发送给它们。
...
.DataSource(dataSource => dataSource
...
.Events(events => events.Error("onGridError"))
)
这部分是正确的,但是事件应该是这样的:
function onGridError() {
this.cancelChanges();
}