なぜ私は、DataTableのにWPFToolkitのDataGridのItemsSourceをバインドすることはできませんか?

StackOverflow https://stackoverflow.com/questions/502667

質問

Telerik制御で、IはDataTableに直接ItemSourceに結合することができたが、私はのCodePlex WPFToolkitDatagridに切り替えたときに

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

私はこのエラーを取得します:

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

どのように私はDataTableをtheWPFToolkitするDataGridをバインドすることができますか?

役に立ちましたか?

解決

あなたはそれがデータグリッドが期待WAHTあるとしてIEnumerableを実装して何かにあなたのDataTableを投影する必要があります。グリッドは、両方から同じ機能を期待するので、そのハードTelerikバージョンに異なる実装です。

他のヒント

私は、最も簡単な方法がある見つけます

myDataGrid.ItemsSource = myDataTable.DefaultView;

[既定はIEnumerableを

を実装しているため

私は、このためのサポートは、将来的に追加されますと仮定していますが、今のところ、あなたはIListSourceDataTableの実装を使用することができます。 GetList()メソッドを呼び出し、データソースとしてそれを使用。あなたはキャストする必要がありますので、それは、明示的なインターフェイスの実装です。

var data = (myDataTable as IListSource).GetList();

このような場合には、I

XAML即ち内DataContexへのItemsSourceに結合しました
ItemsSource={Binding} 

、その後、分離コードでI行う

theGrid.DataContext = dt

これが役立ちます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top