Vb.Net中的 DataGridView控件,不像VB6中的MshFlexGrid控件,不能固定当前选中行,重新绑定下DataSource,刷新显示之后,选中行又会回到第0行。感觉操作起来不方便,只能曲线救国,自己想了个简单的方法,对于DataGridView刷新后,行数不变的情况,可以使用。对于行数改变的,估计只能使用主键,暂且没有想到更好的方法。
1.记录当前行和当前显示的第一行
hindex = Me.DataGridView1.CurrentRow.Index
hindex1 = Me.DataGridView1.FirstDisplayedScrollingRowIndex
2.刷新之后,设置当前行和当前显示第一行为之前记录的值
Me.DataGridView1.FirstDisplayedScrollingRowIndex = hindex1
Me.DataGridView1.Rows(hindex).Selected = True
Me.DataGridView1.CurrentCell = Me.DataGridView1.Rows(hindex).Cells(0)