2010-12-03 24 views
6

DataGridをWPFの汎用リストにバインドしようとしています。DataGridをWPFのジェネリックリストにバインドする最も良い方法

私のリスト内のデータの行ごとに、空白行(私は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、何かにバインドする場合は、プロパティーである必要があります。

- その他THOUGHTS -

は、ここではDataTableにジェネリックリストを変換することができます方法は次のとおりです。

WPFでジェネリックリストにDataGridをバインドする方法:

(WPFにおける大きな特徴):

関連する問題