如何防止编辑器弹出窗口关闭

How to prevent editor popup to close?

本文关键字:窗口 何防止 编辑器      更新时间:2023-09-26

我正在使用剑道调度程序,我想使用服务器验证。当服务器返回验证错误(通过模型状态 - 到数据源结果扩展)时,我想在弹出窗口中显示它们。现在我有问题如何防止编辑器窗口关闭?

我有以下代码(它适用于网格弹出编辑器和服务器验证错误):

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");
    }
}

我发现以下代码看起来像一个错误。这是"刷新"方法和调度程序。我认为它应该检查触发器("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 调度程序不支持阻止 dataBinding 事件。您可以尝试修改实际的源代码,如下所示:

if (this.trigger("dataBinding")) {
   return;
}

我在 telerik 论坛上发布了同样的问题,修复程序将添加到下一个内部构建中。

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