Devin_sone
Devin_sone

Reputation: 21

Row selectable in ag-grid

As the title, I want to make a row selectable by some conditions with using ag-grid in angularjs.

In the past, I used ui-grid and its property "isRowSelectable" to make it.

$scope.options = {
    ...
    isRowSelectable:function(row){
    return row.entity.taskExecutionStatus===0?true:false;
  }
}

However, the ag-grid doesn't have the property "isRowSelectable" like ui-grid. How can I fix it now?

Upvotes: 1

Views: 4856

Answers (4)

Devin_sone
Devin_sone

Reputation: 21

Check if the row is selectable or not in gridOptions.onSelectionChanged() function. If false, then use node.setSelected(false, false, true) to deselect the row;

Upvotes: 1

aswininayak
aswininayak

Reputation: 973

checkboxSelection: function (params) {
      params.node.selectable = false; // this will explicitly restrict to select (useful in select all)
      return true/false; // this will show or hide the checkbox
}

Upvotes: 0

Nav
Nav

Reputation: 111

To select Single row in ag-grid:

 $scope.Gridoptions:{
    columnDefs:...,

    rowData:...,

      onRowClicked: RowClick,

     rowSelection: 'single',

    };

 function RowClick(param) {

    //To Find CurrentRow Index  
    var currentRowIndex = param.rowIndex;

    //GridData

    var gridData = $scope.gridOptionsInstrumentRegister.rowData;

    //Item ShowS RoWData

    var Item = params.data;

    }

Upvotes: 0

A valid solution is to use checkbox selection when you don't want all the rows to be selectable, something like this:

$scope.options = {
  columnDefs: [
    {headerName: "",
      width: 17,
      cellStyle: {'padding': '2px'},
      checkboxSelection: function(row){
        return row.entity.taskExecutionStatus===0?true:false;
      }
    },
    ...
  ],
  ...
  rowSelection: 'single', // or 'multiple'
  suppressRowClickSelection: true,
  ...
};

Upvotes: 0

Related Questions