码迷,mamicode.com
首页 > Windows程序 > 详细

[WinForm]为ComboBox绑定数据源并提供下拉提示

时间:2014-07-22 00:24:36      阅读:391      评论:0      收藏:0      [点我收藏+]

标签:winform   style   blog   http   color   使用   

关键代码:

        /// <summary>
        ///  为ComboBox绑定数据源并提供下拉提示
        /// </summary>
        /// <typeparam name="T">泛型</typeparam>
        /// <param name="combox">ComboBox</param>
        /// <param name="list">数据源</param>
        /// <param name="displayMember">显示字段</param>
        /// <param name="valueMember">隐式字段</param>
        /// <param name="displayText">下拉提示文字</param>
        public static void Bind<T>(this ComboBox combox, IList<T> list, string displayMember, string valueMember, string displayText)
        {
            AddItem(list, displayMember, displayText);
            combox.DataSource = list;
            combox.DisplayMember = displayMember;
            if (!string.IsNullOrEmpty(valueMember))
                combox.ValueMember = valueMember;
        }
        private static void AddItem<T>(IList<T> list, string displayMember, string displayText)
        {
            Object _obj = Activator.CreateInstance<T>();
            Type _type = _obj.GetType();
            if (!string.IsNullOrEmpty(displayMember))
            {
                PropertyInfo _displayProperty = _type.GetProperty(displayMember);
                _displayProperty.SetValue(_obj, displayText, null);
            }
            list.Insert(0, (T)_obj);
        }

使用示例:

        List<CommonEntity> Sources = new List<CommonEntity>();
        private void WinComboBoxToolV2Test_Load(object sender, EventArgs e)
        {
            CreateBindSource(5);
            comboBox1.Bind(Sources, "Name", "Age", "--请选择--");
        }

        private void CreateBindSource(int count)
        {
            for (int i = 0; i < count; i++)
            {
                CommonEntity _entity = new CommonEntity();
                _entity.Age = i;
                _entity.Name = string.Format("Yan{0}", i);
                Sources.Add(_entity);
            }
        }

代码效果:

bubuko.com,布布扣

希望有所帮助!

[WinForm]为ComboBox绑定数据源并提供下拉提示,布布扣,bubuko.com

[WinForm]为ComboBox绑定数据源并提供下拉提示

标签:winform   style   blog   http   color   使用   

原文地址:http://www.cnblogs.com/Yan-Zhiwei/p/3858236.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!