Kendo UI Grid - 删除一行,发生错误但仍然从网格中删除了该行

时间:2017-02-16 22:22:53

标签: kendo-ui kendo-grid kendo-asp.net-mvc

我正在使用Kendo UI Grid MVC。当从网格中删除一行,并且服务器上发生错误时,会向用户显示错误(基于存储在ModelState中的内容),但是该行仍然应该从网格中删除不被删除。如何防止Kendo在服务器错误中从网格中删除行?

2 个答案:

答案 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();
}
相关问题