2013-12-18 48 views
3

我有一个ComboBoxDropDownStyle = Simple并将其绑定到DataSet。我想要的是:当我输入'a'时,我希望我的ComboBox只显示以字母'a'开头的项目,即字典程序。Vb.net ComboBox自动完成

我有尝试AutoComplete属性,但它只是显示DropDown,它不是我想要的

感谢和抱歉,如果我做我的问题不明确或可理解的,因为我在这里首发。

这里是我的代码:

Private Sub TICKETING_FORM_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load 
     da.Fill(ds, "STYLE") 
     bs.DataSource = ds.Tables("STYLE") 

     With Style_ComboBox 
      .DataSource = bs 
      .DisplayMember = "STYLE" 
      .ValueMember = "STYLE" 
      .AutoCompleteMode = AutoCompleteMode.Suggest 
      .AutoCompleteSource = AutoCompleteSource.ListItems 
     End With 

    End Sub 

回答

2

更改此设置

DropDownStyle = DropDownList 
7

您需要设置这些属性自动完成

ComboBox1.AutoCompleteMode = AutoCompleteMode.Append 
ComboBox1.DropDownStyle = ComboBoxStyle.DropDown 
ComboBox1.AutoCompleteSource = AutoCompleteSource.ListItems 


Private Sub TICKETING_FORM_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load 
     da.Fill(ds, "STYLE") 
     bs.DataSource = ds.Tables("STYLE") 

     With Style_ComboBox 
      .DataSource = bs 
      .DisplayMember = "STYLE" 
      .ValueMember = "STYLE" 
      .DropDownStyle = ComboBoxStyle.DropDown 
      .AutoCompleteMode = AutoCompleteMode.Suggest 
      .AutoCompleteSource = AutoCompleteSource.ListItems 
     End With 

    End Sub 
2
Private Sub TICKETING_FORM_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load 
    da.Fill(ds, "STYLE") 
    bs.DataSource = ds.Tables("STYLE") 

    With Style_ComboBox 
     .DataSource = bs 
     .DisplayMember = "STYLE" 
     .ValueMember = "STYLE" 
     .AutoCompleteMode = AutoCompleteMode.SuggestAppend ' This is necessary 
     .AutoCompleteSource = AutoCompleteSource.ListItems 
    End With 

End Sub 
0

的答案很简单。像通常一样通过添加显示成员和值成员来加载组合框。然后,您通过显示成员和whala加载自动填充。请记住,在正常情况下,自动完成功能基本上只是显示部件一侧的过滤选项。

下面是一个例子。请记住,此示例从我们的AD帐户中绘制名称列表,并且在此处也未显示....

Dim col As New AutoCompleteStringCollection 
Dim i As Integer 
If Not MyUsers Is Nothing Then 
    For i = 0 To MyUsers.Rows.Count - 1 
     col.Add(MyUsers.Rows(i)("displayname").ToString) 
    Next 
    Request_ManagerComboBox.AutoCompleteSource = AutoCompleteSource.CustomSource 
    Request_ManagerComboBox.AutoCompleteCustomSource = col 
    Request_ManagerComboBox.AutoCompleteMode = AutoCompleteMode.SuggestAppend 
    Request_ManagerComboBox.DisplayMember = MyUsers.Rows(i - 1)("displayname").ToString 
    Request_ManagerComboBox.ValueMember = MyUsers.Rows(i - 1)("samAccountName").ToString 
End If