这个c#windows窗体中的代码用mysql数据库的数据填充我的组合框,并且他工作
conn.Open();
string query = "SELECT * FROM FRUITS";
MySqlCommand cmd = new MySqlCommand(query, conn);
MySqlDataAdapter da = new MySqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
comboBox1.DataSource = dt;
comboBox1.ValueMember = "NAME";
comboBox1.DisplayMember = "NAME";
但是,我需要两个选项之一:
例子:这段代码给我一个带有值的组合框"香蕉"和#34; Apple"但我需要的第一个值是"选择一个Fruit"。
如果我在" da.Fill(dt)"之后使用下一个代码,他在dataTable中添加一行并出现在组合框中,但是" Apple",combobox = (" Banana"," Apple","选择一种水果")但我需要("选择一种水果"," Banana& #34;," Apple")
dt.Rows.Add("Select One Fruit");
我怎么能这样做?
答案 0 :(得分:1)
试试吧。
组合框
combobox1.Items.Insert(0, "Select a fruit");
数据表
dt.Rows.InsertAt(row,0);
答案 1 :(得分:0)
我认为你正在寻找
dt.Rows.InsertAt
http://msdn.microsoft.com/en-us/library/system.data.datarowcollection.insertat.aspx
OR
combobox1.Items.Insert
http://msdn.microsoft.com/en-us/library/system.windows.forms.combobox.objectcollection.insert.aspx
答案 2 :(得分:0)
当使用DataSource属性时,无法将项插入到comboBox中。您遇到异常:“设置DataSource属性时无法修改项目集合。” 但是,如果在将数据源设置为数据源之前在dataTable的0索引处添加新行,则可以正常运行
conn.Open();
string query = "SELECT * FROM FRUITS";
MySqlCommand cmd = new MySqlCommand(query, conn);
MySqlDataAdapter da = new MySqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
//Add new row
DataRow row = dt.NewRow();
row["NAME"] = "Select a fruit";
dt.Rows.InsertAt(row, 0);
comboBox1.DataSource = dt;
comboBox1.ValueMember = "NAME";
comboBox1.DisplayMember = "NAME";