【问题标题】:prevent kendo ui grid popup editor from closing after validation errors防止 kendo ui 网格弹出编辑器在验证错误后关闭
【发布时间】:2018-09-03 17:53:22
【问题描述】:

我正在从服务器返回错误并在 kendo 数据源错误事件中捕获它。在这种情况下,我试图阻止关闭弹出编辑器,但它只在第一次工作,第二次单击更新后,窗口一直关闭.

这是一些代码;

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

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

【问题讨论】:

    标签: javascript jquery kendo-ui


    【解决方案1】:

    尝试添加这个:

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

    我从here得到它

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多