Mallikarjuna
Mallikarjuna

Reputation: 401

Ag-Grid : How to get the focused cell value

How to get the focused cell value at the time focussing on the cell by using the keyboard arrow keys

Upvotes: 12

Views: 30813

Answers (4)

Peter Sankauskas
Peter Sankauskas

Reputation: 2972

The API has changed again:

AG Grid: Since 31.3 api.getValue is deprecated. Please use getCellValue instead.

and I am using the event listener, so:

const gridOptions = {
  // ... your other code

  onCellFocused: (event) => {
    const row = event.api.getDisplayedRowAtIndex(event.rowIndex);
    const cellValue = event.api.getCellValue({
      rowNode: row, 
      colKey: event.column.colId
    });
    console.log('Focused cell value:', cellValue);
  },
};

Upvotes: 1

Harsh Phoujdar
Harsh Phoujdar

Reputation: 837

Alex's answer might have worked in past but not now. Row.node does not exist, and colSelected is the string representation of the column Header not the Id. The simplest way to get a selected cell's value (Either upon clicking or right clicking) is:

let colSelected = params.column.colId;
let selectedCell = gridOptions.api.getFocusedCell();
let row = gridOptions.api.getDisplayedRowAtIndex(selectedCell.rowIndex);

const value = gridOptions.api.getValue(colSelected,row);

Upvotes: 1

Artur Carvalho
Artur Carvalho

Reputation: 7167

I'm not sure if the API changes between UI library bindings, but this worked for me with vue:

 const cellFocused = (evt) => {
  const focusedCell =  evt.api.getFocusedCell();
  const row = evt.api.getDisplayedRowAtIndex(focusedCell.rowIndex)
  const cellValue = evt.api.getValue(focusedCell.column, row)
  console.log("xxx cell was value", cellValue);
};

Upvotes: 1

Alexander Zbinden
Alexander Zbinden

Reputation: 2541

You can either get the focused cell by using

var focusedCell = gridOptions.api.getFocusedCell();

or use the onCellFocused event.

Both give you the following properties:

  • rowIndex: number
  • column: Column

Use the row-index to retrieve the row-node:

var row = gridOptions.api.getDisplayedRowAtIndex(rowIndex);

After that you can use those properties to retrieve the raw value of the cell:

var cellValue = gridOptions.api.getValue(colKey, row.node)

Upvotes: 33

Related Questions