[英]How to prevent editor popup to close?
我正在使用kendo Scheduler,並且想使用服務器驗證。 當服務器返回驗證錯誤(通過ModelState-ToDataSourceResult擴展名)時,我想在彈出窗口中顯示它們。 現在我有問題如何防止編輯器窗口關閉?
我有以下代碼(它適用於網格彈出編輯器和服務器驗證錯誤):
onError: function (args) {
if (args.errors) {
var scheduler = $("#scheduler").data("kendoScheduler");
scheduler.one("dataBinding", function (e) {
e.preventDefault(); // cancel grid rebind if error occurs - this prevents window to closing
/* some error handling */
});
} else {
alertify.error("Unknown error occurred");
}
}
我發現以下代碼看起來像個錯誤。 這是調度程序的“刷新”方法。 我認為它應該檢查trigger(“ dataBinding ”)的結果並在不阻止事件的情況下調用_destroyEditable :
this.trigger("dataBinding");
if (!(e && e.action === "resize" && this.editable)) {
this._destroyEditable();
}
編輯:
這是來自網格的代碼:
if (that.trigger("dataBinding", { action: e.action || "rebind", index: e.index, items: e.items })) {
return;
}
目前,Kendo UI Scheduler不支持防止dataBinding事件。 您可以嘗試像這樣修改實際的源代碼:
if (this.trigger("dataBinding")) {
return;
}
我在telerik論壇上發布了相同的問題,並將修復程序添加到下一個內部版本中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.