ComboBox数据操作
2011-11-24 15:55 Ref Tian 阅读(217) 评论(0) 编辑 收藏 举报在取得combBox項目的值时遇到一些问题,现在将问题解决方法发布如下:
测试代码:
1.测试用类,主要用来想combBox中添加数据项
public class Vendor { private int old; private string name; public string Name { get { return name; } set { this.name = value; } } public int Old { get { return old; } set { old = value; } } public Vendor(string na,int ol) { name = na; old = ol; } public Vendor() {} }
添加数据的代码:(初始化时....)
comboBox1.Items.Add(new Vendor("aaa",5));
comboBox1.Items.Add(new Vendor("dddd", 66));
comboBox1.DisplayMember = "Old";
comboBox1.ValueMember = "Name";
comboBox1.Items.Add(new Vendor("dddd", 66));
comboBox1.DisplayMember = "Old";
comboBox1.ValueMember = "Name";
其中DisplayMember设置显示的数据,下面那个是对应的值,也就是待会要取出来的值.
以下是显示的代码(将值显示出来)
var k = ((Vendor)comboBox1.SelectedItem).Name; MessageBox.Show(k.ToString());
直接selecteditem是一个object的对象,所以需要将它转化成Vendor然后才能取到name值,代码测试通过。。。有兴趣的试试!
2.模拟绑定数据库的
comboBox1.DataSource = null; ArrayList lst = new ArrayList(); lst.Add(new Vendor("aaaaaa", 1111111)); lst.Add(new Vendor("aa", 11)); lst.Add(new Vendor("aaaa", 11111)); lst.Add(new Vendor("aaaaa", 11111)); comboBox1.Items.Clear(); comboBox1.DataSource = lst; comboBox1.DisplayMember = "Name"; comboBox1.ValueMember = "Old";
以下是显示的代码:
var k = (int)comboBox1.SelectedValue; MessageBox.Show(k.ToString());
就这么多,网上好多问答的很模糊有不懂的再留言!