防止Kendo-ui popup编辑器关闭更新

时间:2016-05-14 15:45:08

标签: kendo-ui kendo-grid

在网上甚至在这里举几个例子之后,我接近在返回服务器错误后保持弹出编辑器打开。

实际上正在调用事件(错误和数据绑定),但在单击更新后执行e.PreventDefault()之后,窗口始终保持关闭状态。伙计们好吗? (感谢)

 dsBranches = new kendo.data.DataSource({
          error: function (arg) {
              var _grid = $("#branchesGrid").data("kendoGrid");
              try {
                      _grid.one("dataBinding", function (e) {
                          e.preventDefault();
                      });
             }
              catch (ee){};
          },

          transport: {
              read: {
                  url: "admin/branch/getBranches",
                  dataType: "json"
              },
              update: {
                  url: "admin/branch/updatetBranches",
                  contentType: "application/json",
                  dataType: "json",
                  type: "POST"
              },
              parameterMap: function (data, operation) {

                  if (operation != "read") {
                      return kendo.stringify(data);
                  }
                  else {
                      return kendo.stringify(data);
                  }
              }
          },

          schema: {
              errors: "error",
              model: {
                  id: "Id",
                  fields: {
                      Name: { type: "string", validation: { required: { message:       "Name is empty" } } },
              }


 },

1 个答案:

答案 0 :(得分:0)

似乎在将dataBinding绑定到匿名函数时,它只会被调用。但是,在编辑器上单击更新会触发一些其他操作(重新绑定(再多次2次),同步)。出于这个原因,我决定继续捕获网格上的dataBinding事件,并在出现错误时检查标志。这将为稍后可能发生的任何其他级联触发器发出preventDefault。

gridBranches = $('#branchesGrid').kendoGrid({
          dataBinding: function (e) {

              if (editHasErrors)
              {
                  e.preventDefault();
                  editHasErrors=0;
              }
          },