本文提到三种方法实现对comboBox的数据绑定。参考https://www.cnblogs.com/shuang121/archive/2012/11/21/2780819.html。
一、List
先创建List集合,然后添加数据,代码如下:
List<string> dllList = new List<string>();
dllList.Add( "Operation");
dllList.Add( "Area");
comboBox_RootClass.DataSource = dllList;
绑定成功,如下图:

由于comboBox下拉框是由一个index和一个显示的内容组成,这个时候我们可以创建一个类,把index和value都封装到这个类,作为List的类型,这个时候就要用到IList,代码如下:
public class ComClass
{
public string Index{get;set;}
public string Value{get;set;}
}
private void BindCombox()
{
IList<ComClass> comClassList = new List<ComClass>();
ComClass comClass1 = new Info() { Index="1",Value="Operation"};
ComClass comClass2 = new Info() { Index="2",Value="Area"};
comClassList .Add(comClass1);
comClassList .Add(comClass2);
comboBox_RootClass.DataSource = comClassList ;
comboBox_RootClass.ValueMember = "Index";
comboBox_RootClass.DisplayMember = "Value";
}
二、Dictionary
Dictionary参数直接就包含有key和value,但是这个不能直接绑定,需要借助类BindingSource才可以完成绑定,代码如下:
Dictionary<int, string> dllDic = new Dictionary<int, string>();
dllDic.Add(1, "Operation");
dllDic.Add(2, "Area");
BindingSource bs = new BindingSource();
bs.DataSource = dllDic;
comboBox_RootClass.DataSource = bs;
comboBox_RootClass.ValueMember = "Key";
comboBox_RootClass.DisplayMember = "Value";
三、DataTable
DataTable dt = new DataTable();
DataColumn dc1 = new DataColumn("Index");
DataColumn dc2 = new DataColumn("Value");
dt.Columns.Add(dc1);
dt.Columns.Add(dc2);
DataRow dr1 = dt.NewRow();
dr1["Index"] = "1";
dr1["Value"] = "Operation";
DataRow dr2 = dt.NewRow();
dr2["Index"] = "2";
dr2["Value"] = "Area";
dt.Rows.Add(dr1);
dt.Rows.Add(dr2);
comboBox_RootClass.DataSource = dt;
comboBox_RootClass.ValueMember = "Index";
comboBox_RootClass.DisplayMember = "Value";
网友评论