【问题标题】:How to add new row to grid without calling the addRow method?如何在不调用 addRow 方法的情况下向网格添加新行?
【发布时间】:2016-10-04 07:29:09
【问题描述】:

我有一个带有单个保存按钮的分层网格来保存新的和更新的父行和子行。如果我单击添加新行按钮对任何子行进行更改后,我会得到新行但会丢失过去的更改。这是因为 addRow 触发了数据的重新绑定,并且我丢失了其他子行的编辑。任何帮助表示赞赏。

【问题讨论】:

    标签: javascript jquery kendo-grid


    【解决方案1】:
    1. 首先你需要获得对网格客户端对象的引用

      var grid = $("#grid").data("kendoGrid");

    2. 然后需要调用网格数据源的add方法。

      grid.dataSource.add({ name: "Name", value: "2" });

    取自here

    有一个演示在运行中显示它here

    【讨论】:

    • 这不起作用,因为在dataSource 上调用addaddRowinsert 之类的任何方法都会触发数据重新绑定,并且我会丢失在其他子行中完成的编辑
    • 你试过了吗?如果您在 Kendo 演示中编辑单元格的过程中单击“添加”,您将看到两个 vales 都保持不变,并且不会发生 ajax 调用(重新绑定)。
    【解决方案2】:

    1 - 将编辑后的网格数据保存在 tempArray 中

    2 - 添加新行

    3- 使用最新的 tempArray 数据重新绑定网格

    【讨论】:

      猜你喜欢
      • 2020-09-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-19
      • 1970-01-01
      • 2016-02-22
      相关资源
      最近更新 更多