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 2013-03-06 00:26:55
@ pinkfloydx33 sqlconstr是一个sqlclient.sqlconnection。我试图把col.add后的MsgBox(ds.Tables(0).Rows(i)(“clist”)。ToString())并显示'name',所以我知道查询没有返回null 。 – 2013-03-06 00:47:18
尝试删除.ToString()使其成为'col.Add(ds.Tables(0).Rows(i)(“clist”))'ToString将为您提供Object.ToString,它通常只是“名称”正如你所说的 – pinkfloydx33 2013-03-06 01:24:00