なぜ私は、DataTableのにWPFToolkitのDataGridのItemsSourceをバインドすることはできませんか?
-
20-08-2019 - |
質問
Telerik
制御で、IはDataTable
に直接ItemSource
に結合することができたが、私はのCodePlex WPFToolkit
のDatagrid
に切り替えたときに
<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を
を実装しているため私は、このためのサポートは、将来的に追加されますと仮定していますが、今のところ、あなたはIListSource
にDataTable
の実装を使用することができます。 GetList()
メソッドを呼び出し、データソースとしてそれを使用。あなたはキャストする必要がありますので、それは、明示的なインターフェイスの実装です。
var data = (myDataTable as IListSource).GetList();
このような場合には、I
XAML即ち内DataContexへのItemsSourceに結合しましたItemsSource={Binding}
、その後、分離コードでI行う
theGrid.DataContext = dt
これが役立ちます。
所属していません StackOverflow