Форум на Kuban.ru (http://forums.kuban.ru/)
-   Разработка программ (http://forums.kuban.ru/f1024/)
-   -   WPF DataGrid (http://forums.kuban.ru/f1024/wpf_datagrid-4583860.html)

LostDaemon 03.08.2013 15:29

WPF DataGrid
 
Добрый день! Пытаюсь разобраться с компонентом DataGrid в WPF.

Приведу простой пример, который, почему то, у меня не работает:
(Подчеркну, что нужна именно динамически определенные столбцы, а не предопределенная в XAML структура)

struct AgendaRecord
**
public int id;
public string Name;
**

List<AgendaRecord> AR = new List<AgendaRecord>();

private void AddRecords()
**
AgendaRecord ar1 = new AgendaRecord();
ar1.id = 0;
ar1.Name = "Иван";

AgendaRecord ar2 = new AgendaRecord();
ar2.id = 1;
ar2.Name = "Петр";

AgendaRecord ar3 = new AgendaRecord();
ar3.id = 2;
ar3.Name = "Николай";

AR.Add(ar1);
AR.Add(ar2);
AR.Add(ar3);
**



private void ShowAgenda()
**
DataGridTextColumn idColumn = new DataGridTextColumn();
idColumn.Header = "ID";
idColumn.Binding = new Binding("id");
dg.Columns.Add(idColumn); //dg-имя DataGrid

DataGridTextColumn NameColumn = new DataGridTextColumn();
NameColumn.Header = "Name";
NameColumn.Binding = new Binding("Name");
dg.Columns.Add(NameColumn);
dg.ItemsSource = AR;
**


В результате, как и планировал, я получаю два столбца с заголовками ID и Name и четыре пустых(!) записи. Почему они пустые? Очевидно,что причина в привязке, но где конкретно? Буду благодарен за советы.

LostDaemon 03.08.2013 15:49

Поправка: три пустых записи.

LostDaemon 03.08.2013 16:40

Проблема оказалась в модификаторах get;set;

Изменил структуру вот так:

struct AgendaRecord
**
public int id{get;set;**
public string Name{get;set;**
**

И все заработало!

spaceman 05.08.2013 14:37

Добрый день.
Возможно будет полезным ознакомиться с:
[url]http://habrahabr.ru/post/124404/[/url]
и после этого заменить struct AgendaRecord на class AgendaRecord.

foantic1717 03.03.2015 15:55

Ну что сказать.)


Текущее время: 05:44. Часовой пояс GMT +3.