簡體   English   中英

如何防止編輯器彈出窗口關閉?

[英]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論壇上發布了相同的問題,並將修復程序添加到下一個內部版本中。

http://www.kendoui.c​​om/forums/kendo-ui-complete-for-asp-net-mvc/scheduler/how-to-prevent-editor-from-closing-.aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM