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;
答案 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);
}
}