Лучший способ привязать DataGrid к общему списку в WPF - PullRequest
6 голосов
/ 03 декабря 2010

Я пытаюсь связать 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 с `List 'в WPF?

1 Ответ

5 голосов
/ 11 января 2011

Один способ связать DataGrid с общим списком в WPF:

MainWindow.xaml.cs

Grid.DataContext = DataBindingSource;

MainWindow.xaml

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

Но, вероятно, он не будет работать с DataRow, потому что в WPF , если вы хотите привязать что-либо, это должно быть свойство .

- ДРУГИЕ МЫСЛИ -

Вот как можно преобразовать общий список в DataTable:

Как связать DataGrid с общим списком в WPF:

Особенно (отличная функция в WPF):

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...