ComboBoxEdit中SelectedValue(Combobox)的相关字段是什么

时间:2013-02-08 09:27:21

标签: c# winforms combobox devexpress

ComboboxEdit中Combobox.SelectedValue的相关字段当我从

中选择内容时
     in Devexpress ComboboxEdit .. 

         combo.EditValue ="1​"

          combo.SelectedItem="1​"

           combo.SelectedText​="1"

                              these all gets same value ​

     In Normal Winform Combobox 

       cmb.SelectedItem="1"

       cmb.SelectedText=""

        cmb.SelectedValue=null​

我如何在Devexpress ComboxEdit中实现这一目标..

示例我正在

            Dictionary<string,string>  dic = new Dictionary<string,string>();

            dic.Add("Test","5");
            dic.Add("Test","6");
            dic.Add("Test","7");

       foreach(DictionaryEntry dic in dic)
         {
           Combobox.Items.add(dic);
           Comboboxedit.Properties.Items.Add(dic);
           }

当我设置正常值时                   Coombobox winfrom

           Combobox.SelectedValue = dic["Test"];

我如何为Devexpress ComboboxEdit ,,,,,

做同样的事情

1 个答案:

答案 0 :(得分:1)

如果您需要具有类似winforms标准组合框的DevEx控件,则应使用LookupEdit控件。

来自ComboBoxEdit documentation

ComboBoxEdit将单行文本编辑器的功能与下拉窗口结合在一起 ComboBoxEdit项可以是任何类型。在下拉窗口和编辑框中,项目由其显示文本(项目&#39; ToString方法返回的字符串)表示。 从下拉列表中选择项目时,项目集合中的相应对象将自动分配给SelectedItem属性。 此属性值与通过EditValue属性提供的编辑值匹配。

因此,在ComboBoxEdit中,您不能拥有显示和值成员,它只显示项目的字符串表示。

编辑(将字典绑定到LookupEdit):

LookUpEdit lookupEdit = new LookUpEdit();
Dictionary<string,string>  dic = new Dictionary<string,string>();
dic["1"] = "jedan";
dic["2"] = "dva";
lookupEdit.Properties.ValueMember = "Key";
lookupEdit.Properties.DisplayMember = "Value";
lookupEdit.Properties.DataSource = dic.ToList();

// if you want to hide Key column
LookUpColumnInfo keyColumnInfo = new LookUpColumnInfo("Key");
keyColumnInfo.Visible = false;
lookupEdit.Properties.Columns.Add(keyColumnInfo);
lookupEdit.Properties.Columns.Add(new LookUpColumnInfo("Value"));

// set selected item
lookupEdit.EditValue = "2";