場景
DevExpress的下拉框控制元件ComboBoxEdit控制元件的使用:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/102855898
在設定ComboBoxEdit的下拉框內容時除了最簡單的
comboBox.Properties.Items.Add("下拉選項1");
如果要添加鍵值對形式的資料該怎樣實作,
注:
博客主頁:
https://blog.csdn.net/badao_liumang_qizhi
關注公眾號
霸道的程式猿
獲取編程相關電子書、教程推送與免費下載,
實作
即在Add選項時添加的不是普通的字串,而是一個物件物體類,里面有
鍵值對兩個屬性,在添加選項時是添加一個個的物件,
為了在顯示時顯示物件的value,需呀重寫物件的toString方法,使其
回傳value,
新建物體類物件,必須要重寫其toString方法,
public class ControlModelItem { public ControlModelItem(string key,string value) { this.key = key; this.value =https://www.cnblogs.com/badaoliumangqizhi/p/ value; } private string key; public string Key { get { return key; } set { key = value; } } private string value; public string Value { get { return this.value; } set { this.value =https://www.cnblogs.com/badaoliumangqizhi/p/ value; } } public override string ToString() { return Value; } }
然后宣告下拉框
DevExpress.XtraEditors.ComboBoxEdit comboBox = new DevExpress.XtraEditors.ComboBoxEdit();
添加下拉框選項
int i=0; ComboBoxItemCollection coll = comboBox.Properties.Items; foreach(ControlModelItem controlModelItem in controlModelItems) { coll.Add(controlModelItem); if (controlModelItem.Value =https://www.cnblogs.com/badaoliumangqizhi/p/= currentCellValue) comboBox.SelectedIndex = i; i++; }
獲取選中項的key和value
if (comboBox.SelectedItem != null) { string key = (comboBox.SelectedItem as ControlModelItem).Key; string value = https://www.cnblogs.com/badaoliumangqizhi/p/(comboBox.SelectedItem as ControlModelItem).Value; }
注意:
這里是要將當前Cell的內容賦值給下框默認選中,如果通過SelectText強行賦值的話,則會導致當前選中
的key缺失,在獲取key時就會報錯,
可以通過上面這種判斷value相等時將當前index設定為選中項SelectedIndex,
獲取通過SelectedItem和下標的方式指定選中項,
此時就可以在下拉框的選項改變事件中獲取當前選中項的key和value
comboBox.SelectedValueChanged += comboBox_SelectedValueChanged;
private void comboBox_SelectedValueChanged(object sender, EventArgs e) { DevExpress.XtraEditors.ComboBoxEdit comboBox = sender as ComboBoxEdit; ControlModelItem controlModelItem = comboBox.SelectedItem as ControlModelItem; string controlModelItemkey = controlModelItem.Key; switch (controlModelItemkey) { //恒壓 case "ConstantVoltage": break; default: break; } }
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/110559.html
標籤:C#
上一篇:ASP.NET Web API 2系列(四):基于JWT的token身份認證方案
下一篇:C#決議深淺拷貝
