如何按项目设置 DevExpress LookupEdit 的选定元素?即,给定 LookupEdit 的数据源的一个对象,根据它设置 LookupEdit 的选择。
问问题
20130 次
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 回答