2016-11-13 136 views
0

我有一個由數據表填充的組合框,代碼在用戶正在寫入時搜索位於字段任何位置的文本字符串,至今沒有問題。vb.net中的組合框自動完成問題

所以問題是:當我寫第三個字符組合框自動完成與第一個結果,並且沒有辦法輸入任何其他的東西。

我已經嘗試了已經使用過所有AutocompleteMode & AutocompleteSourse屬性設置和組合。 這就是爲什麼我要求幫助。 的代碼如下:

Private Sub ComboListadoRemitente_KeyUp(sender As Object, e As KeyEventArgs) Handles ComboListadoRemitente.KeyUp 

    Dim strText As String 

    strText = ComboListadoRemitente.Text 

    If Len(strText) > 2 Then 

     ComboListadoRemitente.DataSource = dtListado.Select("listado LIKE '%" & strText & "%'") 

     ComboListadoRemitente.DroppedDown = True 

     Cursor.Current = Cursors.Default 

    End If 
End Sub 

感謝

回答

0

最後我得到的東西,效果很好,這是不是最後的版本,一定可以進一步提高,這裏是代碼:

Public Sub ComboListadoRemitente_KeyUp(sender As Object, e As KeyEventArgs) Handles ComboListadoRemitente.KeyUp 

     Dim strText As String 

     strText = ComboListadoRemitente.Text 


     If ComboListadoRemitente.Text = "" Then 

      ComboListadoRemitente.DataSource = Me.dtListado 

      ComboListadoRemitente.ValueMember = "Id" 

      ComboListadoRemitente.DisplayMember = "listado" 

      ComboListadoRemitente.SelectedIndex = -1 

      ComboListadoRemitente.DroppedDown = False 

     End If 



     If Len(strText) > 2 Then 

      ComboListadoRemitente.DataSource = dtListado.Select("listado LIKE '%" & strText & "%'") 

      ComboListadoRemitente.ValueMember = "Id" 

      ComboListadoRemitente.DisplayMember = "listado" 

      If ComboListadoRemitente.Items.Count <> 0 Then 

       ComboListadoRemitente.DroppedDown = True 

       ComboListadoRemitente.SelectedIndex = -1 

       ComboListadoRemitente.Text = "" 

       ComboListadoRemitente.SelectedText = strText 

       strText = "" 

       Cursor.Current = Cursors.Default 


      Else 

       ComboListadoRemitente.DataSource = Me.dtListado 

       ComboListadoRemitente.ValueMember = "Id" 

       ComboListadoRemitente.DisplayMember = "listado" 

       ComboListadoRemitente.SelectedIndex = -1 

       ComboListadoRemitente.Text = "" 

       ComboListadoRemitente.SelectedText = strText 

       strText = "" 

       ComboListadoRemitente.DroppedDown = False 



      End If 

     End If 

    End Sub