Я уже довольно много искал этот ответ, но никто не смог мне помочь. Я попытался использовать или даже увидеть, применимо ли .Focus()
, поскольку другие веб-сайты предложили его, но это не так. Мне просто понравится DataGridView
, HistoryData.Прокрутите до выбранного Datagridview Строка
, чтобы перейти к выбранному ряду. Это, конечно, так, но он не будет прокручивать его, когда количество элементов заполнит сетку. Может ли быть параметр, который отсутствует в сетке?
Вот мой код:
Private Sub HistorySearch_TextChanged(sender As Object, e As EventArgs) Handles HistorySearch.TextChanged
Try
If HistorySearch.Text.ToString <> "" Then
For Each HistoryRow As DataGridViewRow In HistoryData.Rows
HistoryData.ClearSelection()
For Each HistoryCell As DataGridViewCell In HistoryRow.Cells
If HistoryCell.Value.ToString.StartsWith(HistorySearch.Text.ToString) Then
HistoryRow.Selected = True
Dim i As Integer = HistoryData.CurrentRow.Index()
Else
HistoryRow.Selected = False
End If
If HistoryCell.Value.ToString.Contains(HistorySearch.Text.ToString) Then
HistoryRow.Selected = True
Dim i As Integer = HistoryData.CurrentRow.Index()
Return
Else
HistoryRow.Selected = False
End If
Next
Next
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub