Winform开发之ComboBox和ComboBoxEdit控件绑定key/value数据
2017-07-04 01:30
417 查看
使用 ComboBox 控件绑定key/value值:
因为 ComboBox 是有 DataSource 属性的,所以它可以直接绑定数据源,如 DataTable、ListItem 等。
使用 DataTable 直接绑定:
使用 ListItem 实现 key/value:
使用 ComboBoxEdit 控件绑定key/value值:
因为 ComboBoxEdit 没有 DataSource 属性,所以不能直接绑定数据源,只能一项一项的添加。
获取选中项的值时,注意判断是否选择。
因为 ComboBox 是有 DataSource 属性的,所以它可以直接绑定数据源,如 DataTable、ListItem 等。
使用 DataTable 直接绑定:
public void BindSource() { DataTable dt = new DataTable(); dt.Columns.Add("Text", Type.GetType("System.String")); dt.Columns.Add("Value", Type.GetType("System.String")); dt.Rows.Add("请选择", "0"); dt.Rows.Add("选项一", "1"); dt.Rows.Add("选项二", "2"); dt.Rows.Add("选项三", "3"); comboBox1.DataSource = dt; comboBox1.DisplayMember = "Text"; // Text,即显式的文本 comboBox1.ValueMember = "Value"; // Value,即实际的值 comboBox1.SelectedIndex = 0; // 设置为默认选中第一个 }
string text = this.comboBox1.Text; //获取选中项文本 string value = this.comboBox1.SelectedValue.ToString(); //获取选中项的值
使用 ListItem 实现 key/value:
public class ListItem : Object { public string Text { get; set; } public string Value { get; set; } public ListItem(string text,string value) { this.Text = text; this.Value = value; } public override string ToString() { return this.Text; } }
public void BindSource() { List<ListItem> list = new List<ListItem>(); list.Add(new ListItem("请选择", "0")); list.Add(new ListItem("选项一", "1")); list.Add(new ListItem("选项二", "2")); list.Add(new ListItem("选项三", "3")); comboBox1.DisplayMember = "Text"; // Text,即显式的文本 comboBox1.ValueMember = "Value"; // Value,即实际的值 comboBox1.DataSource = list; comboBox1.SelectedValue = "0"; // 设置选择值为 0 的项 }
string text = (this.comboBox1.SelectedItem as ListItem).Text; //获取选中项文本 string value = (this.comboBox1.SelectedItem as ListItem).Value; //获取选中项的值
使用 ComboBoxEdit 控件绑定key/value值:
因为 ComboBoxEdit 没有 DataSource 属性,所以不能直接绑定数据源,只能一项一项的添加。
public class ListItem : Object { public string Text { get; set; } public string Value { get; set; } public ListItem(string text,string value) { this.Text = text; this.Value = value; } public override string ToString() { return this.Text; } }
public void BindSource() { string text = string.Empty; string value = string.Empty; ListItem item = null; for (int i = 0; i < 4; i++) { if (i==0) { text = "请选择"; } else { text = "选项" + i.ToString(); } value = i.ToString(); item = new ListItem(text, value); this.comboBoxEdit1.Properties.Items.Add(item); } }
获取选中项的值时,注意判断是否选择。
string text = string.Empty; string value = string.Empty; if (comboBoxEdit1.SelectedIndex < 0) //小于0,表示未选择,如果是输入的也小于0 { text = comboBoxEdit1.Text.Trim(); //只能获取输入的文本 } else { text= (comboBoxEdit1.SelectedItem as ListItem).Text; //获取选中项文本 value = (comboBoxEdit1.SelectedItem as ListItem).Value; //获取选中项的值 }
相关文章推荐
- KeyValuePair<byte, string> 类型的数据如何绑定到ComboBox控件上
- winform快速开发平台 -> 快速绑定ComboBox数据控件
- winform快速开发平台之代码抽象->快速绑定ComboBox数据控件
- winform下comboBox控件绑定数据并设置其value【整理】
- winform有一个combobox和一个textbox控件,如何进行动态绑定,使得combobox中的数据改变时,textbox中的数据也随之改变?
- WinForm控件复杂数据绑定常用数据源(对Combobox,DataGridView等控件DataSource赋值的多种方法)
- WinForm 中 comboBox控件之数据绑定
- Devexpress 使用comboBoxEdit 和LookUpEditor 控件数据绑定
- 如何为winform中的列表控件Combobox、ListBox控件绑定数据
- Winform开发常用控件之DataGridView的简单数据绑定——代码绑定DataSet、DataTable、IList、SqlDataReader
- WinForm中comboBox控件数据绑定实现方法
- C# 程序中如何向(DEV)ComboBoxEdit控件中添加下拉列表的值不使用数据绑定,就是使用代码添加
- Winform开发常用控件之DataGridView的简单数据绑定——自动绑定
- WinForm 中 comboBox控件之数据绑定
- C# winform key value型数据如何绑定ComBox (hashtable,keyvaluepair,dictionary )
- winform技巧—combobox控件数据绑定
- WinForm 中 comboBox控件之数据绑定
- DevExPress控件中ComboBoxEdit动态绑定数据
- WinForm 中 comboBox控件之数据绑定
- WinForm 中 comboBox控件之数据绑定