In the datagridview's editing control showing event you have better access
to the textboxes properties. Here is an example of adding autocomplete to
the textbox.
Imports System.Data.SqlClient
Public Class Form1
Dim scAutoComplete As New AutoCompleteStringCollection
Private Sub Form1_Load(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles
MyBase.Load
Dim strConn As
String
Dim da As
SqlDataAdapter
Dim conn As
SqlConnection
Dim ds As New
DataSet
strConn = "Server =
.;Database = NorthWind; Integrated Security =
SSPI;"
conn = New
SqlConnection(strConn)
da = New
SqlDataAdapter("Select * from [Orders]",
conn)
da.Fill(ds,
"Orders")
DataGridView1.DataSource
= ds.Tables("Orders")
Dim cmd As New SqlCommand("Select
CustomerID From customers", conn)
Dim dr As SqlDataReader
conn.Open()
dr =
cmd.ExecuteReader
Do While
dr.Read
scAutoComplete.Add(dr.GetString(0))
Loop
conn.Close()
End Sub
Private Sub DataGridView1_EditingControlShowing(ByVal
sender As Object, ByVal e As
System.Windows.Forms.DataGridViewEditingControlShowingEventArgs) Handles
DataGridView1.EditingControlShowing
If DataGridView1.CurrentCell.ColumnIndex = 1 AndAlso TypeOf e.Control Is TextBox
Then
With
DirectCast(e.Control,
TextBox)
.AutoCompleteMode =
AutoCompleteMode.SuggestAppend
.AutoCompleteSource =
AutoCompleteSource.CustomSource
.AutoCompleteCustomSource =
scAutoComplete
End With
End
If
End Sub
End Class