Hi @Nexw ,
I set the DataSource of DataGridView to a datatable.
Here's the whole code of my test.
Private verticalScrollingOffset As Integer = 0
Private lastOffset As Integer = 0
Private oldValue As Integer = 0
Private index As Integer
Private Sub dgvdados_Scroll(sender As Object, e As ScrollEventArgs) Handles dgvdados.Scroll
verticalScrollingOffset = dgvdados.VerticalScrollingOffset
Dim valueChange = e.NewValue - oldValue
If Not verticalScrollingOffset = lastOffset Then
If Math.Abs(valueChange) < dgvdados.Rows.Count Then
Dim RowIndex As Integer = dgvdados.CurrentRow.Index + valueChange
dgvdados.CurrentCell = dgvdados.Item(index, RowIndex)
If RowIndex < dgvdados.Rows.Count Then
dgvdados(index, RowIndex).Selected = True
End If
End If
End If
lastOffset = verticalScrollingOffset
oldValue = e.NewValue
End Sub
Private Sub dgvdados_CellClick(sender As Object, e As DataGridViewCellEventArgs) Handles dgvdados.CellClick
index = dgvdados.CurrentCell.ColumnIndex
End Sub
Hope it could be helpful.
Best Regards,
Xingyu Zhao
*
If the answer is helpful, please click "Accept Answer" and upvote it.
Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.