adjustScroll method
Adjusts the scroll offset to keep selected row visible.
Implementation
void adjustScroll(int viewportHeight) {
if (itemCount <= 0 || viewportHeight <= 0) return;
selectedRowIndex = selectedRowIndex.clamp(0, itemCount - 1);
if (selectedRowIndex < scrollOffset) {
scrollOffset = selectedRowIndex;
} else if (selectedRowIndex >= scrollOffset + viewportHeight) {
scrollOffset = selectedRowIndex - viewportHeight + 1;
}
}