防止关闭错误时出现Kendo网格弹出编辑

时间:2014-05-16 18:59:20

标签: kendo-ui kendo-grid

我正在尝试在从kendo网格创建/更新/删除项目时处理服务器错误。但是当抛出错误时,无论如何都会关闭kendo网格。

  function kendo_error_handler(e) {
        if (e.errors) {
            var message = "Errors:\n";
            $.each(e.errors, function (key, value) {
                if ('errors' in value) {
                    $.each(value.errors, function () {
                        message += this + "\n";
                    });
                }
                showErrorMessages(key, message);
            });   
          //this does not work
          var grid = this;
          gird.one("dataBinding", function (e) {
             e.preventDefault();
          });
        }
    }

有没有人有其他解决方案? e.preventDefault()也不起作用。

2 个答案:

答案 0 :(得分:1)

这对我有用。以防任何人需要这个。

function kendo_error_handler(gridName) {
        return function (e) {
            if (e.errors) {
                var grid = $('#'+gridName).data("kendoGrid");
                grid.one("dataBinding", function (ev) {
                    ev.preventDefault();
                    var message = "Errors:\n";
                    $.each(e.errors, function (key, value) {
                        if ('errors' in value) {
                            $.each(value.errors, function () {
                                message += this + "\n";
                            });
                        }
                        showErrorMessages(key, message);
                    });
                });
            }
            else {
                $("#errorContainer").text("");
            }
        }
    }

答案 1 :(得分:1)

是因为它说“gird.one”而不是“grid.one(”