7

Telerik控件中,我能够将 aDataTable直接绑定到ItemSource,但是当我切换到 Codeplex 时WPFToolkit Datagrid

<dg:DataGrid Name="theGrid"/>
---
theGrid.ItemsSource = dt;

我收到此错误:

Cannot implicitly convert type 'System.Data.DataTable' to 'System.Collections.IEnumerable'.

我怎样才能绑定DataTableWPFToolkit DataGrid

4

4 回答 4

32

我发现最简单的方法是:

myDataGrid.ItemsSource = myDataTable.DefaultView;

因为 DefaultView 实现了 IEnumerable

于 2009-02-03T19:04:28.163 回答
4

我假设将来会添加对此的支持,但现在您可以使用IListSourceon的实现DataTable。调用该GetList()方法并将其用作您的数据源。这是一个显式接口实现,因此您需要强制转换:

var data = (myDataTable as IListSource).GetList();
于 2009-02-02T10:32:27.013 回答
3

您必须将数据表投影到实现 IEnumerable 的东西中,因为这是 DataGrid 所期望的。网格是 Telerik 版本的不同实现,因此很难期望两者具有相同的功能。

于 2009-02-02T09:45:12.490 回答
0

在这种情况下,我将 ItemsSource 绑定到 XAML 中的 DataContex,即

ItemsSource={Binding} 

然后在代码隐藏中我做

theGrid.DataContext = dt

这会有所帮助。

于 2010-12-23T08:13:44.187 回答