7

Telerikコントロールでは、に直接バインドできましたがDataTableItemSourceCodeplexに切り替えたときWPFToolkit Datagrid

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

このエラーが発生します:

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

DataTableをにバインドするにはどうすればよいWPFToolkit 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

DataGridが期待するように、データテーブルをIEnumerableを実装するものに投影する必要があります。グリッドは Telerik バージョンとは異なる実装であるため、両方から同じ機能を期待するのは困難です。

于 2009-02-02T09:45:12.490 に答える
0

そのような場合、ItemsSource を XAML の DataContex にバインドします。

ItemsSource={Binding} 

そして、コードビハインドで私はします

theGrid.DataContext = dt

これは役に立ちます。

于 2010-12-23T08:13:44.187 に答える