Chinaunix首页 | 论坛 | 博客
  • 博客访问: 501743
  • 博文数量: 105
  • 博客积分: 2922
  • 博客等级: 少校
  • 技术积分: 1113
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-02 16:30
文章分类

全部博文(105)

文章存档

2018年(1)

2016年(2)

2015年(3)

2014年(6)

2013年(21)

2012年(10)

2011年(8)

2010年(7)

2009年(31)

2008年(16)

我的朋友

分类: 嵌入式

2011-12-23 13:09:47

经常会遇到这样的情况,combobox中能存储一个数据值和一个显示值,我们看到的显示值,但是
实际使用的是数据值。而这个数据可能来源一个类或者一个数据库中的某张表。
在 .net winforms开发中很好处理,定义一个类A,定义两个属性。combobox插入数据的时候,直接
插入类的实例,然后在combobox控件的属性中设置 displaymemuber = 要显示的类属性。取值的
时候直接赋值给A的实例。然后通过 A.数据项目属性得到数据值。

wpf中可以利用绑定来实现:也不麻烦。
xaml:
<
ComboBox  Name="ComboBox1" Width="120" Height="22" ItemsSource="{Binding}"/>

c# Load:
ComboBox1.ItemsSource = ds.Tables[0].DefaultView;
ComboBox1.DisplayMemberPath = ds.Tables[0].Columns["Displayvalue"].ToString();
ComboBox1.SelectedValuePath = ds.Tables[0].Columns["Datavalue"].ToString();

c# Get:
ComboBox1.Text
ComboBox1.SelectedValue.ToString()


这一般用于加载两列,如果想更多列 可以把datavalue值拼串进行,得到值后分解。

阅读(12867) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~