zoukankan      html  css  js  c++  java
  • 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;
                }
            }
  • 相关阅读:
    97. Interleaving String
    96. Unique Binary Search Trees
    95. Unique Binary Search Trees II
    94. Binary Tree Inorder Traversal
    odoo many2many字段 指定打开的form视图
    docker sentry 配置文件位置
    postgres 计算时差
    postgres 字符操作补位,字符切割
    postgres判断字符串是否为时间,数字
    odoo fields_view_get
  • 原文地址:https://www.cnblogs.com/badaoliumangqizhi/p/11776729.html
Copyright © 2011-2022 走看看