I was running into an issue where I didn't want the grid to auto-scroll or change the selected row when the underlying DataSource property was changed. Here's what I came up with:
' dgv is a DataGridView control with SelectionMode set to FullRowSelect and MultiSelect set to False.
Dim intSelectedIndex As Integer = 0
If dgv.SelectedRows.Count > 0 Then
intSelectedIndex = dgv.SelectedRows(0).Index
End If
Dim intDisplayIndex As Integer = dgv.FirstDisplayedScrollingRowIndex
' Set dgv.DataSource here
dgv.ClearSelection()
If intSelectedIndex < dgv.Rows.Count Then
dgv.Rows(intSelectedIndex).Selected = True
Else
dgv.Rows(dgv.Rows.Count - 1).Selected = True
End If
If intDisplayIndex > -1 Then
If intDisplayIndex <>
dgv.FirstDisplayedScrollingRowIndex = intDisplayIndex
Else
dgv.FirstDisplayedScrollingRowIndex = dgv.Rows.Count - 1
End If
End If
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment