
绑定了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相关的DataTablecomboBox1.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相关的DataTableDataRow 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就可以解决了。在设计界面,点击combobox,在控件的右上角有个小三角(它叫智能提示),点击它,勾选“使用数据绑定”复选框,然后选择“数据库”。找到相应的表后,在智能提示中设置DisplayMember(要显示的项)和ValueMember(显示项的值)。
评论列表(0条)