取消内联剑道网格中的更新删除行

2024-02-24

我正在使用两个剑道内联网格父级和子级。子网格包含产品列表,当用户从子网格中选择产品(多项选择)并单击保存按钮时,它将插入到父网格中。

子网格:

var selectedIds = {};

var ctlGrid = $("#KendoWebDataGrid3");
ctlGrid.kendoGrid({
    dataSource: {
        data:data1,
        schema: {
            model: {
                id: 'id',
                fields: {
                    select: {
                        type: "string",
                        editable: false
                    },

                    Qty: {
                        editable: true,
                        type: "number",
                        validation: { min: 1, required: true }
                    },
                    Unit: {
                         editable: false,
                         type: "string"
                    },
                    StyleNumber: {
                         editable: false,
                        type: "string"
                    },
                    Description: {
                         editable: false,
                        type: "string"
                    }


                }
            }
        },
        pageSize: 5
    },
    editable: 'inline',
    selectable: "multiple",
    sortable: {
        mode: 'single',
        allowUnsort: false
    },
    pageable: true,
    columns: [{
        field: "select",
        title: " ",
        template: '<input type=\'checkbox\' />',
        sortable: false,
        width: 35},
    {

        title: 'Qty',
        field: "Qty",
        width:90},
    {
        field: 'Unit',
        title: 'Unit',
        width: 80},
    {
        field: 'StyleNumber',
         title: 'Style Number',
        },
    {
        field: 'Description',
        width: 230},

   {command: [<!---{text:"Select" ,class : "k-button",click: selectProduct},--->"edit" ], title: "Command", width: 100 }

   ],
    dataBound: function() {
        var grid = this;            
        //handle checkbox change
        grid.table.find("tr").find("td:first input")        
            .change(function(e) {                  
                var checkbox = $(this);     
                var selected = grid.table.find("tr").find("td:first input:checked").closest("tr");

                grid.clearSelection();      

                //persist selection per page
                var ids = selectedIds[grid.dataSource.page()] = [];

                if (selected.length) {
                    grid.select(selected);
                    selected.each(function(idx, item) {
                        ids.push($(item).data("id"));
                    });                    
                } 

            })
            .end()
            .mousedown(function(e) {
                e.stopPropagation();
            })

        //select persisted rows
        var selected = $();
        var ids = selectedIds[grid.dataSource.page()] || [];

        for (var idx = 0, length = ids.length; idx < length; idx++) {
            selected = selected.add(grid.table.find("tr[data-id=" + ids[idx] + "]")                   );
        }

        selected
            .find("td:first input")
            .attr("checked", true)
            .trigger("change");


    }
});

var grid = ctlGrid.data("kendoGrid");

grid.thead.find("th:first")
    .append($('<input class="selectAll" type="checkbox"/>'))
    .delegate(".selectAll", "click", function() {
        var checkbox = $(this);            

        grid.table.find("tr")
            .find("td:first input")
            .attr("checked", checkbox.is(":checked"))
            .trigger("change");
    });

保存按钮点击事件

        function selectProduct()
    {

        //Selecting child Grid
        var gview = $("#KendoWebDataGrid3").data("kendoGrid");
        //Getting selected rows
        var rows = gview.select();

            //Selecting parent Grid
        var parentdatasource=$("#grid11").data("kendoGrid").dataSource;                         
        var parentData=parentdatasource.data();


            //Iterate through all selected rows
            rows.each(function (index, row) 
            {
                var selectedItem = gview.dataItem(row);
                var selItemJson={id: ''+selectedItem.id+'', Qty:''+selectedItem.Qty+'',Unit:''+selectedItem.Unit+'',StyleNumber:''+selectedItem.StyleNumber+'',Description:''+selectedItem.Description+''};


                //parentdatasource.insert(selItemJson);
            var productsGrid = $('#grid11').data('kendoGrid');
            var dataSource = productsGrid.dataSource;
            dataSource.add(selItemJson);
            dataSource.sync();



            });

        closeWindow();

    }

父网格:

 var data1=[];
    $("#grid11").kendoGrid({
            dataSource: {
                data:data1,

            schema: {
                    model: { id: "id" ,
                        fields: {

                                    Qty: { validation: { required: true } },
                                    Unit: { validation: { required: true } },
                                    StyleNumber: { validation: { required: true } },
                                    Description: { validation: { required: true } }
                                }
                          }
                     },
            pageSize: 5
        },
        pageable: true,
        height: 260,
        sortable: true,
        toolbar: [{name:"create",text:"Add"}],
        editable: "inline",
        columns: [

              {field: "Qty"},
              {field: "Unit"},
              {field: "StyleNumber"},
              {field: "Description"},
              { command: ["edit", "destroy"], title: "&nbsp;", width: "172px" }]

    });
    $('#grid11').data().kendoGrid.bind("change", function(e) {
      $('#grid11').data().kendoGrid.refresh();
    });
    $('#grid11').data().kendoGrid.bind('edit',function(e){

      if(e.model.isNew()){
           e.container.find('.k-grid-update').click(function(){
              $('#grid11').data().kendoGrid.refresh();

           }),
           e.container.find('.k-grid-cancel').click(function(){
               $('#grid11').data().kendoGrid.refresh();

           })

        }

 })

将数据添加到父网格工作得很好,没有问题,但是当我选择父网格添加新行进行编辑然后触发取消按钮行被删除。

我无法找出问题所在。请帮助我。


我发现错误了,希望能帮到你。

如果您没有配置 dataSource: schema: model "id" 字段,则在更新之前点击另一行中的编辑或点击取消时,会删除该行。

var dataSource = new kendo.data.DataSource({
        ...
        schema: {
            model: {
                id:"id", // Look here, if you did not config it, issue will happen
                fields: {...
                       ...}
            }
        }   

       ...
})
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

取消内联剑道网格中的更新删除行 的相关文章

  • 多个事件处理程序触发,为什么?

    我很难解决这个问题 我已经呆了三个小时了 但我仍然不明白为什么会这样 这是代码 private void Catagory SelectionChanged object sender SelectionChangedEventArgs e
  • C++ 到 C# 事件处理

    所以我有我的C WinForm 应用程序 我从中调用我的C CLI MFC dll图书馆 但也有一些events在我的 C 库上 甚至此事件也发生在该库的本机 非 CLI 部分 我需要从我的 C 应用程序调用一些代码 并获取一些有关此事件的
  • DateTimePicker 的选择范围无法正常工作

    kendo DatePicker 中是否有任何默认方法可以确保 To 日期始终大于或等于 From 日期 这是我尝试过的代码 http jsfiddle net 5bchz 58 我的范围选择代码 function startChange
  • kendo ui:grid - 将页面设置在网格的顶部和底部

    有一种简单的情况无法找到解决方案 Kendo UI 仅在底部实现网格分页 我试图让它在顶部显示寻呼机 但它变得无法点击 我认为我的克隆部分是错误的 但不知道如何修复它 预先感谢各位 这是脚本和jsp的一部分
  • 使用 Kendo Upload 进行 Kendo Grid 内联编辑返回空结果

    我有 Kendo UI Gridinline编辑和我的领域之一 propertyLogo I use 剑道上传 https demos telerik com kendo ui upload index上传图像 使用kendoUpload函
  • 在 WPF 媒体元素中连续重播视频

    我有一个在媒体元素中播放的视频文件 我需要继续播放 因此我尝试了 me play me MediaEnded new RoutedEventHandler me MediaEnded 使用此事件方法 loop to keep video p
  • OSX:检测空格键向下和向上事件

    我需要记录我自己演讲的数千个简短的声音片段 我正在为语音识别引擎训练声学模型 因此 对于每个文本 屏幕上都会显示一行文本 我必须说出它 并将音频捕获到 WAV 中 我找到了一个用于录制音频的示例项目 现在我想弄清楚如何进行键盘输入 我想按下
  • Kendo UI 日历多选

    您好 有没有办法让 kendodatepicker 允许多选 那么选择多个日期并让它们全部突出显示吗 更新 08 2016 你可以用我的plugin https www npmjs com package kendo multi date
  • 如何使用 Angular Kendo UI 刷新网格数据源

    我使用 Angular Kendo UI 项目将 Telerik Kendo 网格与 Angular 结合起来 我有以下标记 div style height 600px div 以及我的控制器中的以下代码 scope thingsOpti
  • onTouchEvent()中如何区分移动和点击?

    在我的应用程序中 我需要处理移动和单击事件 一次点击是由一个 ACTION DOWN 操作 多个 ACTION MOVE 操作和一个 ACTION UP 操作组成的序列 理论上 如果您收到 ACTION DOWN 事件 然后收到 ACTIO
  • 在 ASP.NET 中将事件冒泡为父级

    我已经说过 ASP NET 中的层次结构 page user control 1 user control 2 control 3 我想要做的是 当控件 3 它可以是任何类型的控件 我一般都想这样做 让用户用它做一些触发回发的事情时 它会向
  • 如何制作饼图聚合数据源?

    Using 适用于 ASP NET MVC 的 Kendo UI 完整版 http www kendoui com 版本 2013 3 1119 2013年11月20日 如果我有这段代码 status chart kendoChart da
  • 将 Kendo Grid 数据发布到 MVC 中的控制器

    我有两节课 包含另一个类的列表的一个 public string Name get set public string Surname get set public int Age get set public List
  • Kendo UI 窗口闪烁旧内容

    使用 KendoUI 显示弹出窗口 我注意到如果我通过调用重用现有窗口refresh它会短暂显示旧内容 直到 AJAX 请求完成 My code function clickHandler evt evt preventDefault va
  • 设置发送到控制器的 Kendo DateTimePicker 日期的格式

    我在我的应用程序中使用 Kendo DateTimePicker 我在应用程序中从中获得的价值是 Wed Aug 13 2014 00 00 00 GMT 0200 Romance Daylight Time 我无法将其解析为日期时间 我收
  • 如何动态绑定kendo mvc ui dropdownlist

    我正在使用 Kendo UI mvc 开发 asp net mvc 我有两个剑道下拉列表 一个用于诊所列表 另一个用于选定诊所的患者列表 但诊所和患者之间没有使用级联下拉列表的直接关系 为此 我在下拉列表更改事件中使用了ajax调用并获取患
  • UITextField 文本更改事件

    如何检测文本字段中的任何文本更改 委托方法shouldChangeCharactersInRange适用于某些东西 但它并不能完全满足我的需求 因为在它返回 YES 之前 textField 文本不可用于其他观察者方法 例如在我的代码中ca
  • 如何在 MVC 应用程序中转置 Kendo UI 网格中的行和列?

    我在 MVC 应用程序中使用 Kendo Ui Grid 我希望在我的网格中显示多个国家 地区的统计数据 我从数据库检索数据的方式 我的网格将显示类似于以下内容的数据 Country Area Population GDP GDP Grow
  • 为什么“事件”在 Chrome 中全局可用,而在 Firefox 中则不然?

    在回答另一个问题时 出现了一个与event对象在匿名函数中可用 无需传入 在 Chrome 中 下面的代码工作正常 但 Firefox 会抛出错误 document ready function uspsSideboxTrackingClo
  • Kendo 网格列模板中的条件

    我需要在我的剑道网格列模板中应用一个条件 这是我的代码 columns field EmpName title Name template a href if empName null show xxx else I want to sho

随机推荐

  • 使用 DateTime.strptime 时不考虑 Rails 夏令时

    我一直致力于解析字符串 并且有一个测试用例给我带来了问题 使用 strptime 解析日期 时间字符串时 不考虑夏令时 据我所知 这是一个错误 我找不到有关此错误的任何文档 这是 Rails 控制台中的一个测试用例 这是 ruby 1 9
  • 将带名称和不带名称的命名空间添加到 XElement

    我需要生成如下 XML
  • 使用多处理来查找网络路径

    我目前正在使用 networkx 函数 all simple paths 来查找网络 G 中给定的一组源节点和目标节点的所有路径 在更大 更密集的网络上 这个过程非常密集 我想知道是否可以使用多处理来解决这个问题 以及是否有人对如何通过创建
  • 嵌入式领域“软复位”和“硬复位”有什么区别?

    在我看来 软复位 从复位向量启动 硬重置 拉cpu的电平 硬复位当然意味着整个CPU芯片及其所有外设都被复位 造成这种情况的原因可能有很多 复位引脚被外部拉动 时钟故障 片上低电压检测 看门狗 非法指令陷阱等 软复位可能意味着返回复位向量的
  • 只要父文件夹中尚不存在任何文件,就将所有文件从“旧”文件夹移至父文件夹中

    只要父文件夹中尚不存在文件 我的代码就应将所有文件从 旧 文件夹移至父文件夹中 Folder 1 old somefiles 2 old somefiles 3 old somefiles Folder 1 somefiles old 2
  • 在elasticsearch中创建TransportClient时限制ThreadPool中的线程数

    我正在 elasticsearch 中创建一个 TransportClient 实例 下面是相同的代码 问题是我试图减少 TransportClient 启动的线程池生成的线程数 但无论我使用什么设置 我的elasticsearch总是用1
  • Delphi 按钮在 Aero 玻璃上显示白色边框

    我一直在尝试在 Delphi 2010 中使用 Aero 来找到一个好看的设计 人们看到的一个明显的用途是玻璃框架被扩展以包括屏幕底部的 确定 取消 按钮 我注意到 这在 Delphi 2010 中看起来不太正确 每个按钮周围都有一个白色边
  • 将字符串转换为 TextView

    String data tv 另外 在我的 xml 文件中 我有一个名为 tv1 的 TextView 我已经在 Activity 中投射了 textView TextView tv1 TextView findViewById R id
  • Windows 中的 msync 等效项

    Windows 中的 rsync unix 系统调用 相当于什么 我正在寻找 C C 空间中的 MSDN api 有关 msync 的更多信息 请访问http opengroup org onlinepubs 007908799 xsh m
  • 如何在 Android 的 SQLite 查询中使用 LIMIT 参数

    我正在尝试使用以下查询来获取按日期列出的最新结果 Cursor cursor mDb query DATABASE TABLE new String KEY DATE KEY REPS KEY WEIGHT null null null n
  • 从 ZIP 字符串中提取文件

    我有一个 BASE64 字符串的 zip 文件 其中包含一个 XML 文件 关于如何获取 XML 文件的内容而无需处理磁盘上的文件 有什么想法吗 我非常希望将整个过程保留在内存中 因为 XML 只有 1 5k 必须编写 zip 提取 XML
  • 查询优化——花费太长时间并停止服务器

    我的查询生成一些有关超速 上次时间和平均速度的报告 这是我的查询 Select r1 r2 name r2 notes r2 serial From SELECT k idgps unit MIN k dt AS DT Start MIN
  • 计算未排序数据中唯一对和非唯一对实例的数量

    我有以下形式的数据 ID ATTR 3 10 1 20 1 20 4 30 其中 ID 和 Attr 未排序并且可能包含重复项 ID的范围是1 20 000左右 ATTR是unsigned int 我可能需要一次处理 100 000 到 5
  • IE 的 toLocaleString 结果中有奇怪的字符

    我遇到了一个超级奇怪的事情 显然是 IE 特定的toLocaleString关于日期 在 IE 控制台窗口中 new Date 2014 08 28T20 51 09 9190106Z toLocaleString 8 28 2014 1
  • 无法重写prefersHomeIndicatorAutoHidden()方法

    我在 XCode 10 的应用程序中使用这行代码 以便调暗 iPhone X 和相关无边苹果设备上的主页指示灯 override func prefersHomeIndicatorAutoHidden gt Bool return true
  • 计算 Pandas 数据框中的不同单词数

    我有一个 Pandas 数据框 其中一列包含文本 我想获得整个列中出现的唯一单词的列表 空格是唯一的分割 import pandas as pd r1 My nickname is ft jgt Someone is going to my
  • 使用 JQuery 访问 ASP.net Web 服务时出错 - JSONP

    请查看下面的代码并帮助我找出我的网络服务代码中做错了什么 我想设置一个可以使用 JSONP 来使用的 asp net Web 服务 我在客户端使用 Jquery 来访问该网站 即使在设置了正确的属性之后 我的 Web 服务仍然会发出 xml
  • PHPExcel 字符串到时间

    我创建了一个 Excel 电子表格 在第二列中我有类似的值0 11 23 and 2 03 33 价值数千行 我使用 PHP 将格式设置为 sheet gt getStyle colRange gt getNumberFormat gt s
  • bash脚本中的mvn if语句

    我想在 bash 脚本中运行命令 mvn clean 但我想把它放在 if 语句中 如果 clean 无法正常运行 我想使用 echo 语句退出 bash 脚本 这是导致问题的代码 如果 mvn clean 然后 我尝试将 mvn clea
  • 取消内联剑道网格中的更新删除行

    我正在使用两个剑道内联网格父级和子级 子网格包含产品列表 当用户从子网格中选择产品 多项选择 并单击保存按钮时 它将插入到父网格中 子网格 var selectedIds var ctlGrid KendoWebDataGrid3 ctlG