我正在尝试使用LINQ从数据库中选择数据并将其绑定到DevExpress GridControl。我虽然成功了。这是我的代码如下。它没有绑定任何东西,我怎么能解决这个???
public ucEmailList()
{
InitializeComponent();
ARYADA_EMAIL_DBEntities db_ = new ARYADA_EMAIL_DBEntities();
var elements = from element in db_.TEST_EMAILS
where element.ID >4
select element;
gc.DataContext = elements;
}
答案 0 :(得分:3)
gc.ItemsSource = elements.ToList();
无论如何这是个糟糕的主意。为什么不使用从数据库提供数据的ViewModel
并将它在XAML中绑定到GridControl的适当属性?
编辑 - 我会采用的方式
gc
如果您的XAML中有某处GridControl
,您还应该拥有其属性:
< dexp:GridControl // ....一些属性 ItemsSource = {Binding Data} />
内部视图初始化(参见第1点)将DataContext
设置为您查看包含实际从存储库获取数据的属性Data
的模型。
答案 1 :(得分:1)
对于您的方案,您只需更改一行:
gc.ItemsSource = elements.ToList()
ToList()
是必需的,因为尚未计算elements
并且控件不喜欢绑定它。
作为参考,elements
被定义为:
var elements = from element in db_.TEST_EMAILS
where element.ID >4
select element;