Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 具有3列的自动完成文本框_C#_Vb.net_Winforms - Fatal编程技术网

C# 具有3列的自动完成文本框

C# 具有3列的自动完成文本框,c#,vb.net,winforms,C#,Vb.net,Winforms,我有一个windows窗体,带有一个类似于谷歌搜索的文本框,我有一个在列表中返回注册信息的存储过程,我在自动完成方法中使用列表,我面临的问题是,当用户输入注册时,我希望显示3列,我希望在下拉列表中显示帐户和所有者名称,就像这个注册|帐户|所有者一样,但只能通过注册进行搜索 这是我的存储过程方法 public static List<string> GetAircraftRegistrationList() { List<string> list = new Lis

我有一个windows窗体,带有一个类似于谷歌搜索的文本框,我有一个在列表中返回注册信息的存储过程,我在
自动完成
方法中使用列表,我面临的问题是,当用户输入注册时,我希望显示3列,我希望在下拉列表中显示帐户和所有者名称,就像这个注册|帐户|所有者一样,但只能通过注册进行搜索

这是我的存储过程方法

public static List<string> GetAircraftRegistrationList()
{
    List<string> list = new List<string>();
    Database db = DatabaseFactory.CreateDatabase("GCA");
    DbCommand dbCommand = db.GetStoredProcCommand("GetAircraftRegistrationList");

    using (IDataReader dataReader = db.ExecuteReader(dbCommand))
    {
        while (dataReader.Read())
        {
            list.Add(dataReader["Registration"].ToString());
        }
    }
    return list;
}
这适用于注册。如何将Account和Owner在文本框中显示为3列

所以我想在文本框中显示:

目前,无论你如何切片,如果你输入“ab”,你会得到一个列表

"Abacas"
"Abate"
"Abbrv."
使用多列选项,您可以键入“ch”并获取

"Chris A.     | (656) 573-7834 | Blue"
"Christine B. | (656) 458-9823 | Purple"
"Charisma C.  | (656) 645-7823 | Green"

改为使用以下查询

Dim com As New SqlCommand("Select Registration,Account,Owner from Registry where name like % " & txtbox.Text & " % ",conn)
Dim da As New SqlDataAdapter(com)
Dim ds As New DataSet
da.Fill(ds)
reg_drop.DataSource=ds.Tables(0)
reg_drop.DisplayMember="Registration"
reg_drop.ValueMember="Registration"
Account_drop.DataSource=ds.Tables(0)
Account_drop.DisplayMember="Registration"
Account_drop.ValueMember="Registration"
Dim com As New SqlCommand("Select Registration,Account,Owner from Registry where name like % " & txtbox.Text & " % ",conn)
Dim da As New SqlDataAdapter(com)
Dim ds As New DataSet
da.Fill(ds)
reg_drop.DataSource=ds.Tables(0)
reg_drop.DisplayMember="Registration"
reg_drop.ValueMember="Registration"
Account_drop.DataSource=ds.Tables(0)
Account_drop.DisplayMember="Registration"
Account_drop.ValueMember="Registration"