문제

안에 Telerik 통제, 나는 묶을 수 있었다 DataTable 직접 ItemSource, 그러나 코드 플렉스로 전환했을 때 WPFToolkit Datagrid:

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

이 오류가 발생합니다.

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

어떻게 묶을 수 있습니까? DataTable ~로WPFToolkit DataGrid?

도움이 되었습니까?

해결책

DataGrid가 기대하는 것처럼 Ienumerable을 구현하는 데 데이터 가능을 투사해야합니다. 그리드는 Telerik 버전과는 다른 구현이므로 두 가지 기능을 동일한 기능을 기대하기가 어렵습니다.

다른 팁

가장 쉬운 방법은 다음과 같습니다.

myDataGrid.ItemsSource = myDataTable.DefaultView;

DefaultView는 ienumerable을 구현하기 때문입니다

나는 이것에 대한 지원이 향후 추가 될 것이라고 가정하지만 지금은 구현을 사용할 수 있습니다. IListSource ~에 DataTable. 를 불러 GetList() 방법을 사용하여 데이터 소스로 사용하십시오. 명백한 인터페이스 구현이므로 캐스트해야합니다.

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

그러한 경우 XAML IE의 DataContex에 항목 소스를 바인딩합니다.

ItemsSource={Binding} 

그리고 Codebehind에서 나는한다

theGrid.DataContext = dt

이것은 도움이 될 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top