0
Каждый комментарий, который я читал, говорит, что этот код работает .. Но когда я пытаюсь ввести текст в текстовое поле, не появляется автозаполнение и он просто мигает .. пожалуйста, , им новое для WinFormsтекстовое поле, не показывающее автозаполнение, текстовое поле просто мигает
Private Sub txsCusID_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txsCusID.TextChanged
Dim cmd As New SqlClient.SqlCommand("SELECT DISTINCT fname + ' ' + lname AS clist FROM tblclient WHERE id LIKE '%" + txsCusID.Text.ToString + "%'", sqlconstr)
Dim ds As New DataSet
Dim da As New SqlClient.SqlDataAdapter(cmd)
da.Fill(ds, "list")
Dim col As New AutoCompleteStringCollection
Dim i As Integer
For i = 0 To ds.Tables(0).Rows.Count - 1
col.Add(ds.Tables(0).Rows(i)("clist").ToString())
Next
txsCusID.AutoCompleteSource = AutoCompleteSource.CustomSource
txsCusID.AutoCompleteCustomSource = col
txsCusID.AutoCompleteMode = AutoCompleteMode.Suggest
End Sub
Что такое sqlconstr? Если это фактическая строка, я не думаю, что она будет работать, поскольку SqlCommand ожидает фактический объект SqlConnection. Если вы попытаетесь пройти через код, что произойдет? – pinkfloydx33
@ pinkfloydx33 sqlconstr - это sqlclient.sqlconnection. Я попытался поместить MsgBox (ds.Tables (0) .Rows (i) («clist»). ToString()) после col.add ... и он отобразил «имя», поэтому я знаю, что запрос не возвращает null , –
попробуйте удалить .ToString(), чтобы сделать его 'col.Add (ds.Tables (0) .Rows (i) (" clist "))' ToString предоставит вам Object.ToString, который обычно является просто "именем" как вы сказали – pinkfloydx33