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,
);
}
}
}
}