OussamaLord
OussamaLord

Reputation: 1095

Slickgrid with only one row editable

Hello I have an editable grid using slickgrid library and I want to know if there is a way to have only the last row (the one that is added by default on the grid loading) editable and the rest of rows non editable?

The following code I'm using is from the library here : 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>

Upvotes: 0

Views: 3803

Answers (2)

Premshankar Tiwari
Premshankar Tiwari

Reputation: 3106

try this code..to disable all rows except the last row

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

Upvotes: 1

Alan
Alan

Reputation: 281

You can subscribe to the "onBeforeEditCell" event and return false based on the logic from args

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

Check out this SO post: Disabling specific cell edit in Slick grid

Upvotes: 0

Related Questions