C#中 combox 下拉怎么显示 数据库中的内容

有一个表是id name1 C2 C++怎么让下拉菜单显示 C和 C++ 具体点的代码 谢谢
2024-11-27 10:21:21
推荐回答(3个)
回答1:

绑定了DateSource的ComboBox是不能用Items.Add方法最近使用了ComboBox控件,简单总结一下有关它的使用(绑定、增加选项、清除):一、ComboBox的绑定 OleDB oledb = new OleDB(); private void Form1_Load(object sender, EventArgs e) ...{ DataTable dt = oledb.Filldatatable("Select ID,Name From Table1");//函数返回SQL相关的DataTable comboBox1.DataSource = dt; comboBox1.DisplayMember = "Name";//显示内容 comboBox1.ValueMember = "ID";//选项对应的value }二、为ComboBox增加选项绑定了DateSource的ComboBox是不能用Items.Add方法增加选项的,只能通过修改DataTable来实现,比如想在上面实现的ComboBox1中增加选项“---全部---”,可以这样实现:private void Form1_Load(object sender, EventArgs e) ...{ DataTable dt = oledb.Filldatatable("Select ID,Name From Table1");//函数返回SQL相关的DataTable DataRow dr = dt.NewRow(); dr["ID"] = 0; dr["Name"] = "---全部---"; dt.Rows.InsertAt(dr, 0);//使用dt.Rows.Add(dr)只是把选项追加到最后,而使用dt.Rows.InsertAt(dr, 0)可以把增加的选项插入到相应的位置上 comboBox1.DataSource = dt; comboBox1.DisplayMember = "Name";//显示内容 comboBox1.ValueMember = "ID";//选项对应的value }三、清除ComboBox中的选项如果ComboBox中的选项是手写出来的,则通过comboBox1.Items.Clear();方法来实现,而绑定过DataSource的ComboBox是不能使用这个方法的,其实这样的情况下清除选项也很简单,用comboBox1.DataSource=null;就可以解决了。

回答2:

cmbCourse.DisplayMember = ds.Tables[0].Columns[1].ToString();//显示的能看到的值。如 你这里的 C C++
cmbCourse.ValueMember = ds.Tables[0].Columns[0].ToString();//每项的值,就像学生的学号,但并非索引。如你这里的 ID 1 2
cmbCourse.DataSource = ds.Tables[0];//指定数据源 就可以显示了。指定这些数据所在的表即可

回答3:

combox.Items.add("C");combox.Items.add("C++"); 或 一般都用这个。 SqlCommand com = new SqlCommand("select distinct name from 【表名】 ",cn);
SqlDataReader dr = com.ExecuteReader();
while (dr.Read())
{
comboBox1.Items.Add(dr["name".ToString ()]);
}
dr.Close();