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
4

1 回答 1

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

让我知道它对你有什么影响...

谢谢!

于 2013-03-07T06:16:51.013 回答