如何从相应的编辑值中获取devexpress lookupedit显示文本

时间:2010-09-18 09:07:28

标签: c# devexpress repositorylookupedit

Hai all,

我希望在给出相应的编辑值时获得显示文本。

例如: 如果给予

LookupEdit1.Editvalue="3";

然后它应显示Editvalue="3"

的显示文字

请帮助

//代码

 cmbChemical.Properties.DataSource = _lab.selectChemicals();
        cmbChemical.Properties.DisplayMember = "labitem_Name";
        cmbChemical.Properties.ValueMember = "labItem_ID";
        cmbChemical.Properties.BestFitMode = BestFitMode.BestFit;
        cmbChemical.Properties.SearchMode = SearchMode.AutoComplete;

        cmbChemical.Properties.Columns.Add(new LookUpColumnInfo("labitem_Name", 100,  "Chemicals"));
    cmbChemical.Properties.AutoSearchColumnIndex = 1;

3 个答案:

答案 0 :(得分:3)

你不能,至少不是你想要的方式。顾名思义,LookUpEdit会在DataSource中查找其值,例如。一组对象。因此,要显示值3,您需要包含包含此值的对象列表,并将其设置为控件的DataSource

List<string> values = new List<string>();
values.Add("3");
lookUpEdit.Properties.DataSource = values;
lookUpEdit.EditValue = "3";

也许如果你指定你想做什么,我们可以帮助你实现这一目标。

答案 1 :(得分:1)

我认为您不必指定显示成员或值成员来获取所需的行为。下面的代码给我一个表格,其中lookupedit正确显示“4”,我也可以从列表中选择其他值。

using System.Collections.Generic;
using System.Windows.Forms;
using DevExpress.XtraEditors;

public class Form1 : Form
{
    public Form1()
    {

        var lookUpEdit1 = new LookUpEdit();
        Controls.Add(lookUpEdit1);

        var source = new List<string>();
        for (var i = 0; i < 10;i++ )
            source.Add(i.ToString());
        lookUpEdit1.Properties.DataSource = source;
        lookUpEdit1.EditValue = "4";
    }

}

因为您设置了控件的显示成员和值成员,可能会得到错误的结果。

答案 2 :(得分:1)

这段代码对我有用。

private void lookUpEdit1_KeyUp(object sender, KeyEventArgs e)
{
    if (e.Key == Key.Enter)
    {
        MessageBox.Show((e.OriginalSource as SLTextBox).Text);
    }
}