我有一个只有一列UrzadSkarbowyWojewodztwo
的简单表,我正在尝试将Entity Framework
查询附加到ComboBoxEdit或LookUpEdit(最好两者都作为参考)。考虑到我不想从GUI中做到这一点,有人可以分享一种方法吗?
我尝试了多种方式,每次都失败了。我确定我错过了什么......
using (var context = new EntityBazaCRM(Settings.sqlDataConnectionDetails))
{
IQueryable<UrzedySkarboweWojewodztwa> listaWojewodztw = from d in context.UrzedySkarboweWojewodztwas
select d;
//lookUpEdit1.DataBindings.Add("EditValue", listaWojewodztw, "", true);
lookUpEdit1.DataBindings.Add("EditValue", listaWojewodztw, "UrzadSkarbowyWojewodztwo", true);
lookUpEdit1.Properties.DataSource = listaWojewodztw.ToList();
lookUpEdit1.Properties.DisplayMember = "UrzadSkarbowyWojewodztwo";
lookUpEdit1.Properties.ValueMember = "UrzadSkarbowyWojewodztwo";
LookUpColumnInfo col = new LookUpColumnInfo("UrzadSkarbowyWojewodztwo", "Województwo", 100) { SortOrder = DevExpress.Data.ColumnSortOrder.Ascending };
lookUpEdit1.Properties.Columns.Add(col);
答案 0 :(得分:0)
基于LinqServerMode的组件支持与Entity Framework 4.0的服务器模式绑定:
Linq Server Mode and Entity Framework 4.0
可以以所需方式自定义Entity DataContext,以将其用作LinqServerModeSource的可查询源:
IQueryable<UrzedySkarboweWojewodztwa> listaWojewodztw =
from d in context.UrzedySkarboweWojewodztwas
select d;
...
lookUpEdit1.Properties.DataSource = new LinqServerModeSource() {
ElementType = ...,
KeyExpression = ...,
QueryableSource = listaWojewodztw
};
...
答案 1 :(得分:0)
为了能够将实体框架列表与DevExpress ComboBoxEdit绑定,需要创建额外的partial
类,该类与我们尝试放入object
的{{1}}同名。在该类中,我们需要在ComboBoxEdit
上覆盖我们想要在用户的ComboBoxEdit中显示的值。
ToString()
然后我们只需将对象分配给public partial class SzkolenieMiejsca : EntityObject {
public override string ToString() {
return _MiejsceSzkolenia;
}
}
,Devexpress将完成剩下的工作。
ComboBoxItemCollection