Я пытаюсь настроить DataGridView в VB.Net, где один столбец, называемый «Поставщик», действует как TextBox с AutoCompleteSource, чтобы помочь пользователям с вводом данных.Вот код, который я собрал, чтобы попытаться выполнить это:
Private Sub OrderData_EditingControlShowing(ByVal sender As Object, ByVal e As DataGridViewEditingControlShowingEventArgs) Handles orderData.EditingControlShowing
Dim colIndex = orderData.SelectedCells.Item(0).ColumnIndex
Dim headerText As String = orderData.Columns(colIndex).HeaderText
If headerText.Equals("Supplier") Then
Dim autoText As TextBox = TryCast(e.Control, TextBox)
If autoText IsNot Nothing Then
autoText.AutoCompleteMode = AutoCompleteMode.SuggestAppend
autoText.AutoCompleteSource = AutoCompleteSource.CustomSource
autoText.AutoCompleteCustomSource = FillTextBoxData("supplier_name", "suppliers")
End If
End If
End Sub
Я вроде работаю.К сожалению, он добавляет автозаполнение к каждому редактируемому столбцу таблицы, а не только к столбцу «Поставщик» (индекс столбца 2).
Что мне нужно сделать, чтобы это исправить?
ПРАВКАЯ немного изменил код, чтобы попытаться исправить проблему, и это сработало.Если я сначала не выбрал столбец «Поставщик», то в других столбцах не будет автозаполнения.Однако если я перейду из столбца «Поставщик» в другой столбец, он будет содержать автозаполнение.Как мне это исправить?