【问题标题】:Kendo Grid handling create/delete errors with popup editorKendo Grid 使用弹出编辑器处理创建/删除错误
【发布时间】:2013-11-11 22:14:27
【问题描述】:

我有一个可以创建/删除的剑道网格,它们都以错误结尾。 我想:。

  1. 删除时出错以防止从网格中删除行(这是出现错误时的默认行为)
  2. 出现创建错误以防止弹出编辑器关闭时

请看这个小提琴: http://jsfiddle.net/andreigavrila/p49eV/2/

var data = [
  { Id: 1, Name: "Decision 1", Code: 1 },
  { Id: 2, Name: "Decision 2", Code: 2 },
  { Id: 3, Name: "Decision 3", Code: 3 }
]; 

$("#grid").kendoGrid({
        dataSource: {
            error: function (a) {
                console.log('error');
                $('#grid').data("kendoGrid").cancelChanges();

                //$('#grid').data("kendoGrid").one("dataBinding", function (e) {
                   //e.preventDefault();   // cancel grid rebind
                //});
            },
            transport: {
                read: function(e) {                                
                  e.success({data: data});
                },
                create: function(e) { 
                  console.log('creating');
                  e.error();
                }, 
                destroy: function(e) { 
                  console.log('deleting')
                  e.error();
                }
            },
            schema: {
                data: "data",
                model: {
                    id: "Id",
                    fields: {
                        Id: { type: "number" },
                        Code: { type: "number" },
                        Name: { type: "string" }
                    }
                }
            }
        },
        toolbar: ["create"],
        columns: [
            { field: "Code", title: "Code", },
            { field: "Name", title: "Name" },
            { command: ["destroy"], title: " " }],
        editable: {
            mode: "popup"
        }
    });

第二点默认有效(因此在创建时出错不会关闭弹出窗口)

第一点通过添加错误函数起作用,但这会破坏弹出窗口(它会在错误时关闭)。

所以我可以拥有我的任何一个,但不能同时拥有两个。我有点卡住了。 我还在剑道论坛上看到了这两个问题:

第二个链接说“要防止 Grid 关闭,您需要防止下一个 dataBinding 事件。”但我做不到。

感谢您的帮助。

安德烈

【问题讨论】:

    标签: kendo-ui kendo-grid


    【解决方案1】:

    我终于设法将它推送到剑道论坛:

    官方解决方案: http://www.kendoui.com/forums/kendo-ui-web/grid/kendo-grid-handling-create-delete-errors-with-popup-editor.aspx

    "我建议您在错误事件处理程序中使用 if 条件来 确定应该执行两种解决方法中的哪一种。在这个 如果服务器应提供有关错误类型的信息 发生了。您可以从错误事件中检索错误状态 论据。”

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-15
      • 1970-01-01
      • 1970-01-01
      • 2017-11-27
      • 1970-01-01
      • 2014-07-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多