WinForm中ComBoBox绑定显示值和实际值

在ASP.NET中ComBoBox可以绑定显示值和实际值,但是在Winform中却是没有的(通过DataSource绑定数据源的时候是可以的,但是有null值和空值的限制)

(所有代码均从实际项目中截取)

新建一个类,用于存放显示值和实际值:

    [Serializable]
    public class ComboxItem
    {
        private string _Name = "";
        private object _Value = null;

        public ComboxItem()
        {

        }

        public ComboxItem(string name, object value)
        {
            _Name = name;
            _Value = value;
        }

        public string Name
        {
            get { return _Name; }
            set { _Name = value; }
        }

        public object Value
        {
            get { return _Value; }
            set { _Value = value; }
        }
    }

数据绑定代码:

            ArrayList al = new ArrayList();
            al.Add(new ComboxItem("不排序", SortType.NoSort));
            al.Add(new ComboxItem("升序", SortType.Asc));
            al.Add(new ComboxItem("降序", SortType.Desc));

            cboMajorSort.DataSource = al;
            cboMajorSort.DisplayMember = "Name";
            cboMajorSort.ValueMember = "Value";
            cboMajorSort.SelectedIndex = 0;

初始化时加载:

            if (groupSource.MajorSort!= null)
                cboMajorSort.SelectedValue = groupSource.MajorSort;

确认时,存放:

groupSource.MajorSort = (SortType)cboMajorSort.SelectedValue;
posted @ 2013-09-03 16:11  呆瓜瓜  阅读(2226)  评论(0)    收藏  举报