【问题标题】:Slickgrid with only one row editable只有一行可编辑的 Slickgrid
【发布时间】:2014-01-21 19:38:21
【问题描述】:

您好,我有一个使用 slickgrid 库的可编辑网格,我想知道是否有办法只让最后一行(在加载网格时默认添加的那一行)可编辑,而其余行不可编辑?

我使用的以下代码来自这里的库:Slickgrid Editable with new row added

 <script>
      var grid;
      var data = [];
      var columns = [
        {id: "title", name: "Title", field: "title", editor: Slick.Editors.Text},
        {id: "desc", name: "Description", field: "description", editor: Slick.Editors.Text},
        {id: "duration", name: "Duration", field: "duration", editor: Slick.Editors.Text}
      ];
      var options = {
        editable: true,
        enableAddRow: true,
        enableCellNavigation: true,
        asyncEditorLoading: false,
        autoEdit: false
      };

  $(function () {
    for (var i = 0; i < 3; i++) {
      var d = (data[i] = {});

      d["title"] = "Task " + i;
      d["description"] = "This is a sample";
      d["duration"] = "5 days";
    }

    grid = new Slick.Grid("#myGrid", data, columns, options);

    grid.setSelectionModel(new Slick.CellSelectionModel());

    grid.onAddNewRow.subscribe(function (e, args) {
      var item = args.item;
      grid.invalidateRow(data.length);
      data.push(item);
      grid.updateRowCount();
      grid.render();
    });
  })
</script>

【问题讨论】:

    标签: javascript slickgrid


    【解决方案1】:

    试试这个代码..禁用除最后一行之外的所有行

    grid.onBeforeEditCell.subscribe(function(e,args) {
      if (args.row === grid.getDataLength()-1) {
        return true;
      } else {
        return false;
      }
    });
    

    【讨论】:

      【解决方案2】:

      您可以订阅“onBeforeEditCell”事件并根据args的逻辑返回false

        grid.onBeforeEditCell.subscribe(function (e, args)
        {
           if (/*logic on args*/)
           {
              return false;
           }
        });
      

      查看这篇 SO 帖子:Disabling specific cell edit in Slick grid

      【讨论】:

        猜你喜欢
        • 2011-05-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-05-20
        • 2018-05-27
        • 1970-01-01
        • 1970-01-01
        • 2011-03-13
        相关资源
        最近更新 更多