组合框AutoCompleteCustomSource C#

组合框AutoCompleteCustomSource C#

问题描述:

显示在组合框没有数据,更改两个属性 AutoCompleteMode ---- SuggestAppend和AutoCompleteSource --- CustomeSource码是什么我想组合框AutoCompleteCustomSource C#

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对象拥有所有的项目,但组合框显示没有

+0

你为什么这么辛苦地完成一项简单的任务? – Khan

+0

PLZ建议任何其他方式显示组合框中的项目与自动完成 – zeeshan

+0

我已经更新了答案...现在检查它。 – Khan

您需要设置这些属性:

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])); 
       } 
      } 
     } 
    } 
+0

已经设置这些属性 – zeeshan

+0

请参阅编辑..这应该工作... – Khan

+0

谢谢它的作品 – zeeshan