У меня была похожая проблема. Я спрятал несколько столбцов, а потом попытался выбрать первый ряд. Это не сработало:
datagridview1.Rows[0].Selected = true;
Поэтому я попытался выбрать cell[0,0]
, но это также не сработало, потому что эта ячейка не отображалась. Теперь мое окончательное решение работает очень хорошо:
datagridview1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
datagridview1.CurrentCell = datagridview1.FirstDisplayedCell;
Таким образом, выбирается полный первый ряд.