2010-12-03 4 views
6

DataGrid을 WPF의 제네릭 목록에 바인딩하려고합니다.DataGrid를 WPF의 제네릭 목록에 바인딩하는 가장 좋은 방법

내 목록에있는 데이터의 각 행에 대해 빈 행에 다음 코드 결과는 (i가 5 개 행이있는 경우 즉, 그것은 5 개 행을 표시하지만 셀에 데이터 표시되지 않음) :

List<DataRow> DataBindingSource = GuestList.Where(row => 
    (row.Field<long>("FK_GROUP_ID") == Int64.Parse(cmbGroup.SelectedValue.ToString())) && 
    (row.Field<long>("FK_AGE_GROUP_ID") != (int)L_Age_Group.Child)) 
    .ToList(); 

gvwAddultDetails.ItemsSource = DataBindingSource; 

내 개체 목록을 DataTable으로 변환하면 작동합니다 (데이터 표시).

List<DataRow> DataBindingSource = GuestList.Where(row => 
    (row.Field<long>("FK_GROUP_ID") == Int64.Parse(cmbGroup.SelectedValue.ToString())) && 
    (row.Field<long>("FK_AGE_GROUP_ID") != (int)L_Age_Group.Child)) 
    .ToList(); 

gvwAdultDetails.ItemsSource = DataBindingSource.CopyToDataTable().DefaultView; 

하지만이 List<DataRow>이 있다면, 어떻게 그것이 DataTable로 변환합니다 : 예를 들어?

DataGrid을 WPF의`List '에 바인딩하는 가장 좋은 방법은 무엇입니까?

답변

5

한 WPF에서 일반적인 목록에 DataGrid을 결합하는 방법 :

MainWindow.xaml.cs를

Grid.DataContext = DataBindingSource; 

MainWindow.xaml

<DataGrid 
    AutoGenerateColumns="True" 
    ItemsSource="{Binding}" 
    Name="Grid" /> 
</Grid> 

그러나 그것은 아마 원 DataRow으로 작업하십시오. 왜냐하면 WP F, 뭔가에 바인딩하려면 속성이 필요합니다.

- 다른 사람의 생각 - 여기

당신이 DataTable에 일반적인 목록을 변환 할 수있는 방법은 다음과 같습니다

어떻게 WPF에서 일반적인 목록에 DataGrid을 바인딩 :

특히 (WPF에서 훌륭한 기능) :

관련 문제