Combox控件初始化项的技巧

有时候combox下拉项就是几条固定的,不需要做数据绑定,但是如果直接采用字符串集合编辑器的时候,SelectedValue貌似会不起作用。

于是简单的封装一下

 
 /// <summary>
        /// 绑定combox 按顺序填写value、member  示例:InitCombox.BindCombox(cbxStatus,"1","启用","0","禁用");
        /// </summary>
        /// <param name="box"></param>
        /// <param name="valueMember"></param>
        public static void BindCombox(ComboBox box, params string[] valueMember)
        {
            List<ComboxItem> items = new List<ComboxItem>();
            for (int i = 0; i < valueMember.Length / 2; i++)
            {
                int j = i * 2;
                items.Add(new ComboxItem { ValueMember = valueMember[j], DisplayMember = valueMember[j + 1] });
            }

            box.DataSource = items;
            box.DisplayMember = "DisplayMember";
            box.ValueMember = "ValueMember";
            box.SelectedIndex = -1;
        }

/// <summary>
        /// 绑定combox 按顺序填写value、member  示例:InitCombox.BindCombox(cbxStatus,0,"1","启用","0","禁用");
        /// </summary>
        /// <param name="box"></param>
        /// <param name="index"></param>
        /// <param name="valueMember"></param>
        public static void BindCombox(ComboBox box, int index, params string[] valueMember)
        {
            List<ComboxItem> items = new List<ComboxItem>();
            for (int i = 0; i < valueMember.Length / 2; i++)
            {
                int j = i * 2;
                items.Add(new ComboxItem { ValueMember = valueMember[j], DisplayMember = valueMember[j + 1] });
            }

            box.DataSource = items;
            box.DisplayMember = "DisplayMember";
            box.ValueMember = "ValueMember";
            box.SelectedIndex = index;
        }

构造自定义ComboxItem

 public class ComboxItem
    {
        public string DisplayMember { get; set; }
        public string ValueMember { get; set; }
    }

使用的时候还是蛮方便的

 InitCombox.BindCombox(cbxSFKS, 0, "0", "未空驶", "1", "空驶");

 

posted @ 2015-06-26 16:53  一条大河啊波浪宽啊  阅读(1910)  评论(0编辑  收藏  举报