天天看点

ComboBox数据操作

在取得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";

其中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());

就这么多,网上好多问答的很模糊有不懂的再留言!

继续阅读