2016-08-30 64 views
1

我很難搞清楚這一點..我想在我的ComboBox上添加一個"---OTHERS---"文本,但我的ComboBox已填充MySQL的:在mysql-populated組合框上添加「--- OTHERS ---」

conDatabase = new MySqlConnection(constring); 
MySqlCommand cmdDatabase = new MySqlCommand("select distinct item_type from Company_db.inventory", conDatabase); 
try 
{ 
    MySqlDataAdapter sda = new MySqlDataAdapter(); 
    sda.SelectCommand = cmdDatabase; 
    DataSet dbdataset = new DataSet(); 
    sda.Fill(dbdataset); 
    cbPart.DataSource = dbdataset.Tables[0]; 
    cbPart.DisplayMember = "item_type"; 
} 
catch (Exception ex) 
{ 
    MessageBox.Show(ex.Message); 
} 

回答

0

在將數據綁定到數據源之前,您需要將其添加到數據表的行集合中。

.... 
sda.Fill(dbdataset); 

DataTable dt = dbdataset.Tables[0]; 
DataRow row = dt.NewRow(); 
row.ItemArray = new object[] {"--OTHERS--"}; 
dt.Rows.InsertAt(row, 0); 

cbPart.DataSource = dt; 
+0

它現在的作品!生病發布解決方案 – DOODpls

0

一個項目添加到收藏Items

cbPart.Items.Add(new ListItem("---OTHERS---", "---OTHERS---")) 

看起來你正在使用Winform。你可以只說喜歡

cbPart.Items.Add("---OTHERS---"); 

所以你的具體情況

cbPart.Items.Add("---OTHERS---"); 
cbPart.DataSource = dbdataset.Tables[0]; 
cbPart.DisplayMember = "item_type"; 
cbPart.SelectedItem = "---OTHERS---"; 
+0

東西展示...當DataSource屬性設置 Items集合不能被修改。 – DOODpls

+0

@DOODpls,如果有幫助,請參閱編輯答案。 – Rahul

+0

它仍然不顯示 – DOODpls

0

你綁定您的組合框到數據庫。所以爲此,你必須添加--- OTHERS ---數據。

sda.Fill(dbdataset); 
sda.Tables(0).Rows.InsertAt(sda.tables(0).NewRow(), 0) 

希望它能幫上忙。

0

只購買使用的是什麼@Steve評論

sda.Fill(dbdataset); 
DataTable dt = dbdataset.Tables[0]; 
DataRow row = dt.NewRow(); 
row.ItemArray = new object[] {"--OTHERS--"}; 
dt.Rows.InsertAt(row, 0); 
cbPart.DataSource = dt; 
cbPart.DataSource = dbdataset.Tables[0]; //Plus adding this line 
cbPart.DisplayMember = "item_type";   //And this, plus "item_type" is the name of the column