如何为winform中的列表控件Combobox、ListBox控件绑定数据

DataBindings是一般控件所具有的,是绑定数据源的某一个字段  
combobox.DataBindings.Add("要绑定控件的属性如下拉框的SelectedValue\Text",   数据源如dataset1,   "导航路径如Table1.ListID");  
   
但是,DataBindings只能绑定一个字段,而绑定多个字段时典型的如列表控件Combobox、ListBox控件,需要键值对,这时就需要指定DataSource(实现IList接口就行),然后指定ValueMember、DisplayMember   。  
   
所以,如果是下拉列表,你只想绑定一个字段,用DataBindings可以,想绑定两个字段  
   
用combobox.DataSource    数据源;  
combobox.DisplayMember    对应显示字段名;      
combobox.ValueMember        对应存储字段名;  
   
   
object   val    combobox.SelectedValue;  
string   txt    combobox.Text;  
   
   
SelectedIndex、SelectedItem表示选中了哪项目,也可以设置combobox.SelectedIndex     或  
   
直接设置   combobox.SelectedValue    "一个已存在的值";或   combobox.Text    "一个已存在的文本";  
   
如果是绑定的,一定要设置的是一个在绑定在已存在的项。

   
例如有一个部门表的DataTable,部门ID是一个字段,用于唯一标识一个部门ID,部门名称是另一个字段,用于唯一标识ID对应的部门名称  
   
绑定如下:  
   
this.ComboBox1.DataSource    部门表;   //只要实现了IList接口就可以  
this.ComboBox1.DisplayMember="部门名称";//显示中文,方便用户选择     对应WebForm的DataTextField  
this.ComboBox1.ValueMember="部门ID";   //绑定与选择对应的另一个值  
   
   
需要着重说明的时,如果你有一个类Item如有两个属性:A、B,同时你做了ItemCollection类用来表示多个Item,绑定时:  
   
this.ComboBox1.DataSource    myItemCollection;  
this.ComboBox1.DisplayMember="A";  
this.ComboBox1.ValueMember="B";    


如果数据不是从数据库中读取出来,而是从集合中绑定。 本例中仅列出Dictionary这个类。

代码:

 Dictionary<int, string> mydiction = new Dictionary<int, string>();

mydiction.Add(2, "张三");

           this.listBox1.DataSource = new BindingSource(mydiction, null);
           this.listBox1.DisplayMember = "Value";
           this.listBox1.ValueMember = "Key";
   


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猿猿网页设计

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值