如何使我的组合框自动完成 [英] How to make my combobox AutoComplete

查看:93
本文介绍了如何使我的组合框自动完成的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

嗨.我的表单上有一个comboBox,其设置为以下代码:

Hi. I have a comboBox on my form which is set to following code:

dtFetch = retrieveFull("ProductBasicInfo")

            cmbSProdID.DisplayMember = "ProdName"
            cmbSProdID.ValueMember = "ProdID"
            cmbSProdID.DataSource = dtFetch

其中dtFetch是一个简单的DataTable,retrieveFull是一个函数:

Where dtFetch is a simple DataTable and retrieveFull is a function:

Public Function retrieveFull(ByVal tblName As String) As DataTable
        Try
            If dsSql.Tables.Contains(tblName) Then
                dsSql.Tables.Remove(tblName)
            End If

            cmdSql1.CommandText = "select * from " & tblName
            cmdSql1.Connection = Connect()
            daSql.SelectCommand = cmdSql1
            daSql.Fill(dsSql, tblName)

        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
        Return dsSql.Tables(tblName)
    End Function

现在.我想使我的组合框自动完成.因为整个产品列表都已加载到此组合中,所以当用户单击它时,长长的列表出现在他/她的身上,看起来很奇怪.因此,我要使其自动完成,如他所写 M,因此M的所有产品都会出现在列表中,当他在M之后按O时,会出现所有以MO开头的产品.为此,请协助我.谢谢.如果需要任何其他信息,那么我将提供它.


Now. I want to make my combobox AutoComplete. Because the entire list of Products is being loaded into this Combo, so when user clicks on it so a lengthy list appears to him/ her, which looks so weired. Therefore, i want to make it autoComplete that as he writes M so all products of M appears into list and when he press O after M so all products starting with MO will appear. Please assist me for this. Thanks. If any other info needed so i will provide it.


推荐答案

你好,

下面的MSDN文章附有源代码,可以进行编译,展示了如何使用后端数据库中的数据为AutoComplete设置文本框.

The following MSDN article complete with source, ready to compile shows how to setup a TextBox for AutoComplete using data from a backend database.

下载项目,打开表单,将ComboBox添加到名称为ComboBox1的表单中.将以下代码添加到Form load事件中.

Download the project, open the form, add a ComboBox to the form with the name of ComboBox1. Add the following code to the Form load event.

ComboBox1.DisplayMember = "FirstName"
ComboBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend
ComboBox1.AutoCompleteSource = AutoCompleteSource.CustomSource
ComboBox1.AutoCompleteCustomSource = LoadFemaleNames()

我在其中添加了组合框的屏幕截图. DataGridView只是用来显示可以使用哪些数据

Screenshot where I added a ComboBox. The DataGridView is there just to show what data can be used


这篇关于如何使我的组合框自动完成的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆