2016-11-13 103 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