LookupEdit 获取所选值

3

我正在使用DevExpress和Visual Studio 2010。我有一个LookUpEdit控件,想要选择值,但是以指定的格式显示它: 这是我在ButtonEdit中使用的示例:

    CurrentEvent.fkVersion = selectedVersion;
    m_cVersionButtonEdit.EditValue= CurrentEvent.fkVersion.FormattedProduct;
    m_cVersionButtonEdit.Refresh(); 

"selectedVersion"是在按下按钮后在对话框中所选的对象。

现在我需要使用lookupEdit并从下拉列表中选择版本来完成同样的操作。所以问题是如何获取所选值?

3个回答

5

我不确定你所询问的内容,但获取选定值的最简单方式如下:

public partial class Form1 : Form
{
    public class Example
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public string Description { get; set; }
    }

    public List<Example> elist = new List<Example>();

    public Form1()
    {
        InitializeComponent();
        for (int i = 0; i < 10; i++)
        {
            elist.Add(new Example() { Id = i, Name = "Name" + i, Description = "Description " + i });
        }
        lookUpEdit1.Properties.DataSource = elist;
        lookUpEdit1.Properties.DisplayMember = "Name";
    }

    private void lookUpEdit1_EditValueChanged(object sender, EventArgs e)
    {
        var item = lookUpEdit1.GetSelectedDataRow() as Example;
    }
}

2

对于已经接受的答案,还有一个小补充。所提出的解决方案并不返回选定的行,而是返回第一行,在此行中,绑定到ValueMember的字段的值与EditValue匹配(在大多数情况下,这将是选定的行)。

当您拥有一个多列LookUpEdit,其中两个或更多列的组合使得行唯一时,这就成了一个问题。我知道这有点超出寻常...


-2

MessageBox.Show(cmblook.GetColumnValue("item_id").ToString());
尝试使用它


你的回答如何解决问题? - Lukasz Szczygielek
1
当提供答案时,您的目标是尝试解释为什么您的答案是一个好的解决方案。您还需要考虑到,您的答案可能会被未来遇到与原帖相同问题的人阅读,但他们不一定具有相同的背景知识。我建议您在回答中投入更多的精力,以便其他人可以在您正确并且解释得很好时给您点赞。 - pensum

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接