Как связать DataGrid с DataTable все в коде позади? - PullRequest
2 голосов
/ 28 апреля 2011

Как привязать DataGrid к коду DataTable в C #? (Все элементы управления создаются во время выполнения, поэтому, пожалуйста, не XAML)

Я попытался Binding (), установить DataContext, установить ItemsSource, но все не работает:

/* Binding() fails */
Binding bind = new Binding();
bind.Source = dataset;
bind.Path = new PropertyPath("dataset.Tables");
datagrid.SetBinding(DataSet, bind);

/* DataContext fails */
datagrid.DataContext = dataset.Tables;

/* ItemsSource fails */
datagrid.ItemsSource = dataset.Tables;

Все, что мне нужно сделать, это привязать DataGrid к DataTable, чтобы при добавлении новых строк в DataTable он автоматически отображался в DataGrid.

Я ищу все через stackoverflow и google, но странным образом не могу найти решение.

Ответы [ 2 ]

6 голосов
/ 28 апреля 2011

Попробуйте связать одну из таблиц в вашем наборе данных:

datagrid.ItemsSource = dataset.Tables[0].DefaultView;
0 голосов
/ 20 ноября 2011

Также, чтобы сохранить хороший уровень абстракции между вашими данными и их представлением в ваших формах, я бы предложил вам установить для свойства AutoGenerateColumns вашего DataGridView значение false и добавить только те столбцы, которые вы хотите отобразить вручную, с именем заголовка.на ваш выбор (в этом случае не забудьте установить свойство столбцов DataPropertyName).

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