http://www.cnblogs.com/refresh/archive/2012/07/14/2591503.html

https://msdn.microsoft.com/zh-cn/library/system.windows.forms.bindingsource(v=vs.80).aspx

ComboBox的DataSource的值可设置为 :实现 IList 接口的对象,如 DataSet 或 Array。默认为 空引用(在 Visual Basic 中为 Nothing)。

但是在实际的项目中可能需要绑定Dictionary作为数据源。此时,将Dictionary<>放到BindingSource中便可以实现间接绑定。

BindingSource 组件有两种用途:

首先,它通过提供一个间接寻址层、当前项管理、更改通知和其他服务简化了窗体中控件到数据的绑定。这是通过将 BindingSource 组件附加到数据源,然后将窗体中的控件绑BindingSource 组件来实现的。与数据的所有进一步交互,包括定位、排序、筛选和更新,都通过调用 BindingSource 组件实现。

第二,BindingSource 组件可以作为一个强类型的数据源。通常,基础数据源的类型通过以下机制之一固定: 使用 Add 方法可将某项添加到 BindingSource 组件中。 将 DataSource 属性设置为一个列表、单个对象或类型。 这两种机制都创建一个强类型列表。BindingSource 支持由其 DataSource 和 DataMember 属性指示的简单数据绑定和复杂数据绑定。

有关BindingSource的更详细信息请参考:http://msdn.microsoft.com/zh-cn/library/system.windows.forms.bindingsource(VS.80).aspx 示例代码如下:

1 Dictionary<string, string> dic = new Dictionary<string, string>();
2 BindingSource bs = new BindingSource();
3 bs.DataSource = dic;
4 cbb.DataSource = bs;
5 cbb.DisplayMember = "Value";
6 cbb.ValueMember = "Key";

ComboBox绑定Dictionary做为数据源的更多相关文章

  1. 下拉列表框DropDownList绑定Dictionary泛型类

    DropDownList绑定Dictionary泛型类 定义一个Dictionary泛型类 /// <summary>    /// 产品类型    /// </summary> ...

  2. ComboBox绑定数据源时触发SelectedIndexChanged事件的处理办法

    转载:http://blog.sina.com.cn/s/blog_629e606f01014d4b.html ComboBox最经常使用的事件就是SelectedIndexChanged.但在将Co ...

  3. 多个ComboBox绑定同一个数据源出现的问题解决办法

    出现问题: 当多个ComboBox绑定同一个数据源后,只要更改其中一个的选择项时,其它的ComboBox也跟着改变了 解决办法: DataTable dt = new DataTable(); dt ...

  4. ListBox和ComboBox绑定数据简单例子

    1. 将集合数据绑定到ListBox和ComboBox控件,界面上显示某个属性的内容 //自定义了Person类(有Name,Age,Heigth等属性) List<Person> per ...

  5. C#ComboBox绑定List

    ComboBox绑定List时可能会错, public class Person { public string Name; public int Age; public int Heigth; } ...

  6. WPF{ComboBox绑定类对象, 下拉列显示的值,与取到的值}

    DisplayMemberPath 是用来显示下拉列表的值 SelectedValuePath是用来取得选中项的值. ComboBox绑定类对象, 下拉列显示的值,与取到的值 string. Join ...

  7. silverlight中 ComboBox绑定数据库,并获取当前选定值

    silverlight中 ComboBox绑定数据库,并获取当前选定值 在silverlight中 用combobox下拉菜单绑定数据库的方法和用DataGrid绑定数据库的方法类似. page.xa ...

  8. Combobox绑定泛型字典时提示“复杂的 DataBinding 接受 IList 或 IListSource 作为数据源”的解决方法

    一般情况下我们会将 DataTable 或 DataView 绑定到 Combobox 控件上,这时候进行数据绑定是没有问题的,因为DataTable 和 DataView 都继承了 IList 接口 ...

  9. comboBox绑定字典Dictionary 获取value中的值

    第一种 最简洁的方法 Dictionary<string, string> list = new Dictionary<string, string> { {"thi ...

随机推荐

  1. 第七十四节,css边框与背景

    css边框与背景 学习要点: 1.声明边框 2.边框样式 3.圆角边框  本章主要探讨HTML5中CSS边框和背景,通过边框和背景的样式设置,给元素增加更丰富的外观. 声明边框 边框的声明有三个属性设 ...

  2. iOS开发Embedded dylibs/frameworks are only supported on iOS 8.0 and later for architecture armv7的解决方法

    全局搜索IPHONEOS_DEPLOYMENT_TARGE改为更小的版本

  3. 阮一峰:MVC、MVP和MVVM的图示

    阮一峰:MVC.MVP和MVVM的图示:http://www.ruanyifeng.com/blog/2015/02/mvcmvp_mvvm.html

  4. <?php function say() { echo 'hello world'; } //在这里调用函数 say(); php 调用方法say()

    <?php function say() {     echo 'hello world'; } //在这里调用函数 say(); php 调用方法say()

  5. Linux启动新进程的几种方法及比较[转]

    有时候,我们需要在自己的程序(进程)中启动另一个程序(进程)来帮助我们完成一些工作,那么我们需要怎么才能在自己的进程中启动其他的进程呢?在Linux中提供了不少的方法来实现这一点,下面就来介绍一个这些 ...

  6. 7、Struts2实现文件上传和下载

    一.实现单个文件上传 1.创建如下web项目结构 2.在src下的com.action包下创建UploadAction.java package com.action; import java.io. ...

  7. Mysql授权远程登录

    在命令行输入如下命令即可: Grant all privileges on *.* to ' with grant option; 再执行 flush privileges

  8. Linux中kettle连接hadoop并传数据(5)

    http://wiki.pentaho.com/display/BAD/Loading+Data+into+HDFS 新建job

  9. MaskEdit组件的EditText属性和Text属性

    MaskEdit组件主要是EditMask属性 是string属性. 掩码字符串EditMask属性分为3个部分,分别用分号隔开,形式是“XXXXX;X;X” 第一部分是掩码字符串的主要部分,它确定输 ...

  10. yum安装memcache,mongo扩展以及python的mysql模块安装

    //启动memcached/usr/local/memcached/bin/memcached -d -c 10240 -m 1024 -p 11211 -u root/usr/local/memca ...