我需要刷新网格行添加的网格。我通过onRequestEnd()执行此操作,我用它来调用kendoGrid的dataSource read() - 这是有效的。
但我也使用服务器端验证并使用网格的错误事件来取消弹出窗口关闭 - 这是有效的,但前提是我注释掉onRequestsEnd的dataSource.Read()。
基本上我不能同时做两件事,onRequestEnd事件在错误事件之前触发,&它不包含任何错误信息,所以我无法有条件地进行网格刷新。 关于如何在crud(行添加)成功的情况下刷新网格的任何想法,&具有正常的服务器端验证行为。
dataSource ....
.Events(events => events.Error("myLib.error"))
.Events(e => e.RequestEnd("myLib.onRequestEnd"))
myLib ...
error: function (args) {
if (args.errors) {
var grid = $("#myGrid").data("kendoGrid");
grid.one("dataBinding", function (e) {
e.preventDefault(); // cancel popup closure
});
}
},
// on Grid's DataSource CRUD action completing
onRequestEnd: function (e) {
if ((e.type === 'create' || e.type === 'update' || (e.type === 'destroy'))) {
$("#myGrid").data("kendoGrid").dataSource.read();
}
},