ssCAROのブログ

色んなとこで見つけたプログラムのメモ置き場っぽい

DataGridViewの選択行を元の行に戻す

DataGridViewでDataSourceを設定すると選択行が先頭行になる。
選択行を覚えておき、元の位置に戻すプログラムのメモ。

'現在選択している行を取得
Dim rowFirst As Integer = 0
Dim rowCurrent As Integer = 0
If DataGridView1.CurrentCell IsNot Nothing Then
    rowFirst = DataGridView1.FirstDisplayedScrollingRowIndex
    rowCurrent = DataGridView1.CurrentCell.RowIndex
End If

DataGridView1.DataSource = dt

'選択していた行へ復旧
If DataGridView1.CurrentCell IsNot Nothing Then
    DataGridView1.FirstDisplayedScrollingRowIndex = rowFirst
    DataGridView1.CurrentCell = DataGridView1(0, rowCurrent)
End If