Winform开发之ComboBox和ComboBoxEdit控件绑定key/value数据
生活随笔
收集整理的這篇文章主要介紹了
Winform开发之ComboBox和ComboBoxEdit控件绑定key/value数据
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
使用 ComboBox 控件綁定key/value值:
因?yàn)?ComboBox 是有?DataSource 屬性的,所以它可以直接綁定數(shù)據(jù)源,如 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("請(qǐng)選擇", "0");dt.Rows.Add("選項(xiàng)一", "1");dt.Rows.Add("選項(xiàng)二", "2");dt.Rows.Add("選項(xiàng)三", "3");comboBox1.DataSource = dt;comboBox1.DisplayMember = "Text"; // Text,即顯式的文本comboBox1.ValueMember = "Value"; // Value,即實(shí)際的值comboBox1.SelectedIndex = 0; // 設(shè)置為默認(rèn)選中第一個(gè)} string text = this.comboBox1.Text; //獲取選中項(xiàng)文本 string value = this.comboBox1.SelectedValue.ToString(); //獲取選中項(xiàng)的值使用 ListItem 實(shí)現(xiàn) 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("請(qǐng)選擇", "0"));list.Add(new ListItem("選項(xiàng)一", "1"));list.Add(new ListItem("選項(xiàng)二", "2"));list.Add(new ListItem("選項(xiàng)三", "3"));comboBox1.DisplayMember = "Text"; // Text,即顯式的文本comboBox1.ValueMember = "Value"; // Value,即實(shí)際的值comboBox1.DataSource = list;comboBox1.SelectedValue = "0"; // 設(shè)置選擇值為 0 的項(xiàng)} string text = (this.comboBox1.SelectedItem as ListItem).Text; //獲取選中項(xiàng)文本 string value = (this.comboBox1.SelectedItem as ListItem).Value; //獲取選中項(xiàng)的值?
使用?ComboBoxEdit 控件綁定key/value值:
因?yàn)?ComboBoxEdit 沒有?DataSource 屬性,所以不能直接綁定數(shù)據(jù)源,只能一項(xiàng)一項(xiàng)的添加。
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 = "請(qǐng)選擇";}else{text = "選項(xiàng)" + i.ToString();}value = i.ToString();item = new ListItem(text, value);this.comboBoxEdit1.Properties.Items.Add(item);}}獲取選中項(xiàng)的值時(shí),注意判斷是否選擇。
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; //獲取選中項(xiàng)文本value = (comboBoxEdit1.SelectedItem as ListItem).Value; //獲取選中項(xiàng)的值 }?
轉(zhuǎn)載于:https://www.cnblogs.com/Brambling/p/7114203.html
總結(jié)
以上是生活随笔為你收集整理的Winform开发之ComboBox和ComboBoxEdit控件绑定key/value数据的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 企业微信在线文档怎么做数据透视图?
- 下一篇: 展讯:旗下14纳米LTE芯片比联发科所有