首页 文章

Kendo Grid - 编辑一个单元格并更新选定的单元格

提问于
浏览
0

目前我在可编辑模式下使用Kendo Grid,我想从网格列中选择多个单元格,如果我在最后选择的单元格中进行更改,则最后更改的值应设置为所有选定的单元格 .

我不确定是否可能 .

有人可以帮我这个吗?

1 回答

  • 0

    你需要一些东西来完成这项工作

    • 网格

    • 可选:'multiple, cell'

    • 可编辑:true

    • toolbar:["create","save","cancel"](如果是远程数据)

    • 更改事件处理程序以存储选定的单元格并将其中一个置于编辑模式

    • 保存事件处理程序以将已编辑的值传播到选定的单元格

    • keydown事件处理程序,用于检测输入密钥作为编辑保存操作

    • dataSource

    • 批处理模式(如果是远程数据)

    对于过度活跃的手指可能存在一些奇怪的边缘情况 .

    看看这个dojo,它有这样的编码:

    具有在配置选项中内联编码的事件处理程序的网格

    change: function (e) {
      selected = (this.select().length > 1) ? this.select() : null;
      if (selected) {
        this.editCell($(selected[selected.length-1]));
      }
    },
    save: function (e) {
      if (e.values) {
        for (var field in e.values) {
          // propogate edited field value to each selected
          for (var i=0; i<selected.length; i++) {
            var uid = $(selected[i]).closest("tr").data("uid");
            var model = this.dataSource.getByUid(uid);
            model.set(field,e.values[field]);
          }
    
          // should be only one field
          break;
        }
      }
    },
    

    并输入密钥检测

    $("#grid tbody").on("keydown", "tr", function (e) {
        var grid = $("#grid").data("kendoGrid");
    
        //get the pressed key code
        var code = (e.keyCode ? e.keyCode : e.which);
        if (code == 13) { //Enter keycode
            $(e.srcElement).closest("tbody").focus();
            setTimeout(function () {
                grid.saveRow();
            })
        }
    });
    

相关问题