moveCurrentCellTo method

void moveCurrentCellTo(
  1. RowColumnIndex rowColumnIndex
)

Moves the current-cell to the specified cell coordinates.

Implementation

void moveCurrentCellTo(RowColumnIndex rowColumnIndex) {
  if (_dataGridStateDetails != null) {
    final DataGridConfiguration dataGridConfiguration =
        _dataGridStateDetails!();
    if (rowColumnIndex != RowColumnIndex(-1, -1) &&
        dataGridConfiguration.selectionMode != SelectionMode.none &&
        dataGridConfiguration.navigationMode != GridNavigationMode.row) {
      final int rowIndex = grid_helper.resolveToRowIndex(
          dataGridConfiguration, rowColumnIndex.rowIndex);
      final int columnIndex =
          dataGridConfiguration.source.groupedColumns.isNotEmpty
              ? grid_helper.resolveToScrollColumnIndex(
                  dataGridConfiguration, rowColumnIndex.columnIndex)
              : grid_helper.resolveToGridVisibleColumnIndex(
                  dataGridConfiguration, rowColumnIndex.columnIndex);
      // Ignore the scrolling when the row index or column index are in negative
      // or invalid.
      if (rowIndex.isNegative || columnIndex.isNegative) {
        return;
      }
      final SelectionManagerBase rowSelectionController =
          dataGridConfiguration.rowSelectionManager;
      if (rowSelectionController is RowSelectionManager) {
        selection_manager.processSelectionAndCurrentCell(
            dataGridConfiguration, RowColumnIndex(rowIndex, columnIndex),
            isProgrammatic: true);
      }
    }
  }
}