编辑数据表或添加组合框c#

时间:2014-05-24 23:52:58

标签: c# mysql winforms combobox

这个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";

但是,我需要两个选项之一:

  1. 在组合框的第一个位置添加一行。
  2. 在dataTable的第一个位置添加一行。
  3. 例子:这段代码给我一个带有值的组合框"香蕉"和#34; Apple"但我需要的第一个值是"选择一个Fruit"。

    如果我在" da.Fill(dt)"之后使用下一个代码,他在dataTable中添加一行并出现在组合框中,但是" Apple",combobox = (" Banana"," Apple","选择一种水果")但我需要("选择一种水果"," Banana& #34;," Apple")

     dt.Rows.Add("Select One Fruit");
    

    我怎么能这样做?

3 个答案:

答案 0 :(得分:1)

试试吧。

组合框

combobox1.Items.Insert(0, "Select a fruit");

数据表

dt.Rows.InsertAt(row,0);

答案 1 :(得分:0)

答案 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";