时间:2021-05-20
本文实例展示了WinForm实现为ComboBox绑定数据源并提供下拉提示功能,这是一个非常有实用价值的功能,具体实现方法如下:
主要功能代码如下:
/// <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); }}代码运行效果如下:
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
带搜索的ComboBox就是给ComboBox一个依赖属性的ItemSource,然后通过数据源中是否包含要查询的值,重新给ComboBox绑定数据源。publ
本文实例讲述了winform中的ListBox和ComboBox绑定数据用法。分享给大家供大家参考。具体实现方法如下:本例实现将集合数据绑定到ListBox和C
在使用ComboBox控件时,遇到了重新绑定赋值出问题的情况。正常情况下,对于数据重新赋值的或者绑定数据源的时候,为了防止数据出现问题,都会先清空原来数据,所以
数据源数据绑定分为数据源和数据绑定控件两部分,数据绑定控件通过数据源来获得数据,通过数据源来隔离数据提供者和数据使用者,数据绑定控件通过数据源来对数据进行修改,
当DataGrid同时具有分页和排序功能时应注意在重新绑定数据源时,MyDataGrid.CurrentPageIndex=0;下面给实现以上功能的原码,也就不