美文网首页
C# comboBox控件绑定数据

C# comboBox控件绑定数据

作者: 堆石成山 | 来源:发表于2019-06-27 11:29 被阅读0次

本文提到三种方法实现对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绑定数据

由于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";

相关文章

网友评论

      本文标题:C# comboBox控件绑定数据

      本文链接:https://www.haomeiwen.com/subject/jjylcctx.html