2016-08-30 3 views
1

私はこの問題を解くのに苦労しています。の上に"---OTHERS---"のテキストを追加したいのですが、私のComboBoxにはMySQLは:あなたがWinformを使用しているようmysqlが埋め込まれたコンボボックスの上に "---その他"を追加

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

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

見えるようItemsコレクションに一つの項目を追加します。あなたは自分の特定の場合は、データベースにあなたのコンボボックスをバインドされている

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

をコメントしものを使用して購入します。 – DOODpls

+0

@DOODpls、回答があれば編集してください。 – Rahul

+0

まだ表示されていません – DOODpls

0

でそう

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

のように言うことができます。そのためには、データに---その他を追加する必要があります。

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

希望します。

0

はちょうど@Steveは何かがDataSourceプロパティが設定されている場合 Itemsコレクションを変更することはできません...見せている

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 
関連する問題