2013-03-06 3 views
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 
+0

Что такое sqlconstr? Если это фактическая строка, я не думаю, что она будет работать, поскольку SqlCommand ожидает фактический объект SqlConnection. Если вы попытаетесь пройти через код, что произойдет? – pinkfloydx33

+0

@ pinkfloydx33 sqlconstr - это sqlclient.sqlconnection. Я попытался поместить MsgBox (ds.Tables (0) .Rows (i) («clist»). ToString()) после col.add ... и он отобразил «имя», поэтому я знаю, что запрос не возвращает null , –

+0

попробуйте удалить .ToString(), чтобы сделать его 'col.Add (ds.Tables (0) .Rows (i) (" clist "))' ToString предоставит вам Object.ToString, который обычно является просто "именем" как вы сказали – pinkfloydx33

ответ

0

Вот дать это попробовать ... Я хотел бы предложить настройки таблицу и затем петлю через некоторое время добавления к источнику ...

Dim dtCustomerNames As DataTable 
    dtCustomerNames = ds.Tables(0) 


    For Each row As DataRow In dtCustomerNames.Rows 
     'You have to continue to add your data here...' 
     txsCusID.AutoCompleteCustomSource.Add((row.Item("clist").ToString)) 
    Next 

    txsCusID.AutoCompleteMode = AutoCompleteMode.Suggest 
    txsCusID.AutoCompleteSource = AutoCompleteSource.CustomSource 

Позвольте мне знать, как это работает для вас ...

Спасибо!

Смежные вопросы