【问题标题】:Combobox AutoCompleteCustomSource C#组合框 AutoCompleteCustomSource C#
【发布时间】:2017-09-14 16:23:16
【问题描述】:

组合框中不显示数据,更改两个属性 AutoCompleteMode----SuggestAppend和AutoCompleteSource---Custome我试过的源代码

SqlDataAdapter da = new SqlDataAdapter("SELECT Pname FROM product", con);

DataSet ds = new DataSet();
da.Fill(ds);

DataRow row = ds.Tables[0].NewRow();
row["Pname"] = -1;
row["Pname"] = "select Product";
ds.Tables[0].Rows.InsertAt(row, 0);
AutoCompleteStringCollection mycol = new AutoCompleteStringCollection();
DataTableReader dr = ds.Tables[0].CreateDataReader();
while(dr.Read())
{ mycol.Add(dr.GetString(0));
}
comboBox1.AutoCompleteCustomSource = mycol;
con.Close();

AutoCompleteStringCollection 对象包含所有项目,但组合框不显示任何内容

【问题讨论】:

  • 你为什么要这么辛苦地做一个简单的任务?
  • 请建议任何其他方式在带有自动完成功能的组合框中显示项目
  • 我已经更新了答案...现在检查一下。

标签: c# combobox


【解决方案1】:

您需要设置这些属性:

comboBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend; 
comboBox1.AutoCompleteSource = AutoCompleteSource.CustomSource;

这是完整的代码。

    AutoCompleteStringCollection mycol = new AutoCompleteStringCollection {
        "Select product"
    };
    using (SqlConnection con = createconnection()) {
        using (SqlCommand cmd = new SqlCommand ("SELECT Pname FROM product")) {
            using (SqlDataReader reader = cmd.ExecuteReader ()) {
                while (reader.Read ()) {
                    mycol.Add (Convert.ToString (reader[0]));
                }
            }
        }
    }

    comboBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
    comboBox1.AutoCompleteSource = AutoCompleteSource.CustomSource;
    comboBox1.AutoCompleteCustomSource = mycol;

编辑: 我认为您想在下拉列表中显示项目,而不是自动完成。在这种情况下,您需要添加到项目。

    comboBox1.Items.Add("Select product");
    using (SqlConnection con = createconnection()) {
        using (SqlCommand cmd = new SqlCommand ("SELECT Pname FROM product")) {
            using (SqlDataReader reader = cmd.ExecuteReader ()) {
                while (reader.Read ()) {
                    comboBox1.Items.Add (Convert.ToString (reader[0]));
                }
            }
        }
    }

【讨论】:

    猜你喜欢
    • 2011-11-25
    • 1970-01-01
    • 2011-09-01
    • 2011-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-09
    相关资源
    最近更新 更多