1

如何按项目设置 DevExpress LookupEdit 的选定元素?即,给定 LookupEdit 的数据源的一个对象,根据它设置 LookupEdit 的选择。

4

3 回答 3

4

您应该根据LookupEdit.ValueMember属性使用数据源中的值设置LookupEdit.EditValue属性。

以下是演示此方法的示例:

var dataSource = new List<Person> { 
    new Person(){ ID=0, Name="John", Age=27 },
    //...
    new Person(){ ID=101, Name="Mary", Age=23 },
};
lookupEdit1.Properties.DataSource = dataSource;
lookupEdit1.Properties.DisplayMember = "Name";
lookupEdit1.Properties.ValueMember = "ID";

lookupEdit1.EditValue = 101; // Select Person with ID==101
//...
lookupEdit1.EditValue = lookupEdit1.Properties.GetDataSourceValue("ID", 1); // Select Person from second row by its ID
于 2013-06-21T07:48:01.280 回答
1

一段时间后,我在DevExpress 论坛中找到了答案。只需让ValueMember属性未赋值,EditValue将控件的属性设置为要选择的项即可。以@DmitryG 为例:

var dataSource = new List<Person>();
p1 = new Person(){ ID=0, Name="John", Age=27 };
dataSource.Add(p1);
//...
dataSource.Add(new Person(){ ID=101, Name="Mary", Age=23 });
lookupEdit1.Properties.DataSource = dataSource;
lookupEdit1.Properties.DisplayMember = "Name";
//...
lookupEdit1.EditValue = p1;

在这种情况下,它将绑定到对项目的引用。

于 2013-09-26T17:57:00.063 回答
1

这是选择第一个值索引的简单解决方案: LookUpEdit1.EditValue=TryCast(LookUpEdit1.Properties.DataSource,DataTable).Row(0).Item(0).ToString

于 2014-08-11T02:50:40.473 回答