VB.net 2010 视频教程 VB.net 2010 视频教程 VB.net 2010 视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
  • C#教程之WinForm实现为ComboBox绑定数据源并提供下拉

  • 2018-06-07 10:36 来源:未知

新疆25选7开奖号码 www.d1dx0.cn 本文实例展示了WinForm实现为ComboBox绑定数据源并提供下拉提示功能,这是一个非常有实用价值的功能,具体实现方法如下:

主要功能代码如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
/// <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);
}

使用示例:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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);
  }
}

代码运行效果如下:

相关教程
  • 天津通报5起违反中央八项规定精神典型问题 2019-05-24
  • 俄官员说俄韩领导人将讨论同朝鲜三方合作项目 2019-05-23
  • 【大家谈】干部轻装上阵有了“护身符” 2019-05-23
  • 机场高速收费之争 春城壹网 七彩云南 一网天下 2019-05-23
  • 有没有上城客在越南的踪迹? 2019-05-22
  • 海上洄游时 北海狗 连续两周深睡眠 2019-05-22
  • 2018高考志愿填报规则:五大误区家长需谨慎 2019-05-21
  • 罗超毅:中国棋牌发展新蓝图 2019-05-21
  • 他们是中国军人,他们2个月排除380万平方米雷场 2019-05-21
  • 今天明天后天 雷雨赶不走闷热天 2019-05-20
  • “中国城市互联网生活消费·成都指数”论坛 2019-05-20
  • 亚冠-埃神破门于海摆乌龙 上港1-3鹿岛晋级告急 2019-05-20
  • Facebook公关掌门离职 是应对隐私丑闻干将 2019-05-19
  • 匹夫有责之一百一十一 (原创首发) 2019-05-19
  • 小天视频这个六一 来个回忆杀 2019-05-19
  • 574| 582| 410| 97| 383| 724| 252| 707| 785| 1000|