绑定ArrayList(命名空间System.Collections)
view plaincopy to clipboardprint?
- ArrayList al1 = new ArrayList();
- al1.Add(new DictionaryEntry("Y", "军品"));
- al1.Add(new DictionaryEntry("N", "民品"));
- cbIsArmy.DataSource = al1;
- cbIsArmy.DisplayMember = "Value";
- cbIsArmy.ValueMember = "Key";
ArrayList al1 = new ArrayList(); al1.Add(new DictionaryEntry("Y", "军品")); al1.Add(new DictionaryEntry("N", "民品")); cbIsArmy.DataSource = al1; cbIsArmy.DisplayMember = "Value"; cbIsArmy.ValueMember = "Key";
绑定了DateSource的ComboBox是不能用Items.Add方法最近使用了ComboBox控件,简单总结一下有关它的使用(绑定、增加选项、清除):
一、ComboBox的绑定
view plaincopy to clipboardprint?
- 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
- }
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中增加选项“---全部---”,可以这样实现:
view plaincopy to clipboardprint?
- 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
- }
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;就可以解决了。