防止kendo ui网格弹出编辑器在验证错误后关闭

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了防止kendo ui网格弹出编辑器在验证错误后关闭相关的知识,希望对你有一定的参考价值。

我从服务器返回错误并在kendo datasource错误事件中捕获它。在这个事件中我试图阻止关闭弹出编辑器,但它只是第一次工作,在第二次点击更新后,窗口一直保持关闭状态。

这是一些代码;

    dataSource = new kendo.data.DataSource({
    transport: {
    create: function (e) {  
                 // just posting server with ajax     
                 InsertCity("/city/insert", e.data, function (res) {
                            var grid = $("#gCity").data("kendoGrid");

                            if (res.success) {
                                grid.dataSource.data(res.data);
                            } else {
                                e.error("", "", res.error);
                                grid.cancelChanges();
                            }
                        })
     },
     error: function (e) {
                // after throwing error in transport/create, it comes here
                var grid = $("#gCity").data("kendoGrid");
                grid.one("dataBinding", function (e) {
                    e.preventDefault();
                });
                alert(e.errorThrown);
            },
     pageSize: 20,
     schema: {
            model: {
                id: "ID",
                fields: {
                    Name: { type: "string" }/*,
                    EndDate: { type: "date" },
                    CreateDate: { type: "date" }*/
                }
            }
     }
    });


    $("#gCity").kendoGrid({
        dataSource: dataSource,
        height: 550,
        selectable: "single",
        filterable: true,
        sortable: true,
        pageable: true,
        toolbar: [{ name: "new", text: "New" }],
        columns: [{ field: "Name", title: "Name" }],
        editable: {
            mode: "popup",
            confirmation: false,
            template: kendo.template($("#popup_editor").html())
        }
    });

我搜索了很多,但找不到解决方案

答案

尝试添加此:

var onWindowEditClose = function (e) {
  debugger;
    if (preventCloseOnSave) {
        e.preventDefault();
        preventCloseOnSave = false;
    }
};

我是从here得到的

以上是关于防止kendo ui网格弹出编辑器在验证错误后关闭的主要内容,如果未能解决你的问题,请参考以下文章

弹出窗口在 Kendo UI 网格中的工作原理以及如何在 MVC4 的 Kendo UI ajax 网格中将控件带入弹出窗口

Kendo UI网格行中弹出窗口中的文件附件

Kendo Grid - 从弹出窗口编辑后刷新行

来自弹出编辑器的Kendo UI绑定下拉值

记住在 Kendo-UI 中刷新时扩展的细节网格

如何使用 Kendo 网格在控制器中显示验证错误消息?