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;
            }
        }

原文地址:https://www.cnblogs.com/badaoliumangqizhi/p/11776729.html

时间: 2024-10-05 04:45:07

DevExpress的下拉框控件ComboxBoxEdit怎样绑定键值对选项的相关文章

Dev控件的下拉框控件设置默认选中项

DevExpress中下拉框控件comboBoxEdit,用法和winform的不太一样,在绑完选项后,希望设置默认选中项. 有2种方法: 方法1this.cmbMacScan.EditValue = new CheckedListBoxItem { Value = model.ScanInterval, Description = model.ScanInterval.ToString() }; this.cmbMacScan.RefreshEditValue(); 方法2this.cmbMa

android:Spinner(下拉框)控件的使用

1.效果图 2.创建页面文件(main.xml) 1 <Spinner 2 android:id="@+id/spinner1" 3 android:layout_width="match_parent" 4 android:layout_height="wrap_content" /> 5 6 <TextView 7 android:id="@+id/tvResult" 8 android:layout_w

[原创]自己动手实现React-Native下拉框控件

因项目需要,自己动手实现了一个下拉框组件,最近得空将控件独立出来开源上传到了Github和npm. Github地址(求Star 求Star 求Star ??):https://github.com/sohobloo/react-native-modal-dropdown Github上全英文的readme方便国际友人,这里就写个中文的吧. react-native-modal-dropdown 一个react-native的下拉框组件,支持安卓和iOS. 特点 纯JS组件. 一份代码兼容iOS

android 开发-spinner下拉框控件的实现

Android提供实现下拉框功能的非常实用的控件Spinner. spinner控件需要向xml资源文件中添加spinner标签,如下: <Spinner android:id="@+id/spinner1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_toRightOf="@+id/textView

封装下拉框控件!将查询到信息塞到下拉框中,将所选的内容截取并显示到静态框(联动显示)

1 int CSetOrgan::GetAllArea(CString& operArea) 2 { 3 CString strTemp; 4 for(int i=0; i<m_cmbDept.GetCount(); i++) 5 { 6 m_cmbDept.DeleteString(i); 7 } 8 this->PrepareReqPack(TX_QUERYORGAN); 9 AddField((getUIData().getUserId()), sorder0, F_SORDER

comboTagsTree的下拉框控件 选中

//编辑的时候 点击默认下拉框中的值选中 每次选中一个将原本的替换掉 只能选中一个分组if (groupId != "") { if(updateGroup.length!=undefined&&updateGroup.length!=""&&updateGroup.length!=null){ for (var j = 0; j < updateGroup.length; j++) { if (groupId == updat

css模拟下拉框,vue获取双向绑定的值

原生的下拉框用vue获取值双向绑定简直不要太好用,Duang的一下就行了 <div id="datePrice"> <select v-model="selected" id="dataSel" class="dataSel" v-on:change="change"> <option v-for="item in dateList" v-bind:valu

下拉框控件、列表控件、ComboBox

delphi 列表组件ComboBox TComboBox组件的重要属性 CharCase--------此属性用于设置编辑框内文字的大小写DropDownCount---此属性用于设置当用户下拉组合框时不需要加滚动条就能显示的项的个数DroppedDown-----如组合框当前被下拉,此属性返回TrueItemHeight------此属性用于设置项的高度ItemIndex-------此属性返回组合框中被选择的项的序号Items-----------通过此属性可以访问组合框中所有项MaxLe

一款可以下拉搜索html下拉框控件

直接上图,组件不错,支持静态和动态搜索,这个只是在原控件上自己修改样式后的,这里主要记录一下,在修改别人控件时,应该如何去封装代码: 原控件:http://ivaynberg.github.com/select2 效果图: 源文件:点击下载