• DevExpress的下拉框控件ComboxBoxEdit怎样绑定键值对选项


    场景

    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 = 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 = 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 == currentCellValue)
                        comboBox.SelectedIndex = i;
                    i++;
                }

    获取选中项的key和value

    if (comboBox.SelectedItem != null)
                {
                    string key = (comboBox.SelectedItem as ControlModelItem).Key;
                    string value = (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;
                }
            }
  • 相关阅读:
    创业第一步:为员工打工
    C#笔记30:Trace、Debug和TraceSource的使用以及日志设计
    C#笔记29:程序集、应用程序配置及App.config和YourSoft.exe.config
    WPF快速指导1:资源
    并行编程之数据并行
    异常处理之ThreadException、unhandledException及多线程异常处理
    Efficient C#:为什么要把泛型作为返回值
    C#笔记31:本地化或多语言支持
    C#数据本地存储方案之SQLite
    C#笔记9:异常
  • 原文地址:https://www.cnblogs.com/badaoliumangqizhi/p/11776729.html
Copyright © 2020-2023  润新知