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

本文关键字:组合 添加 数据表 编辑 | 更新日期: 2023-09-27 18:05:14

这段代码在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的FIRST POSITION中添加一行

示例:此代码返回给我一个值为"香蕉"answers"苹果"的组合框,但我需要的第一个值是"选择一个水果"。

如果我在"da.Fill(dt)"之后使用下一个代码,他在dataTable中添加一行并出现在组合框中,但是在"Apple"之后,组合框=("Banana","Apple","Select one Fruit")但我需要("Select one Fruit","Banana","Apple")

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

我怎么能做到这一点?

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

试一试

组合框

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

DataTable

dt.Rows.InsertAt(row,0);

我想你在找

dt.Rows.InsertAt
http://msdn.microsoft.com/en-us/library/system.data.datarowcollection.insertat.aspx

combobox1.Items.Insert
http://msdn.microsoft.com/en-us/library/system.windows.forms.combobox.objectcollection.insert.aspx

当使用DataSource属性时,不能将项插入到组合框中。您会得到一个异常:"当设置DataSource属性时,不能修改项集合。"但如果你在将数据表设置为数据源之前在索引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";