moveCurrentCellTo method
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);
}
}
}
}