Приложение WPF - невозможно отобразить данные из списка в сетке данных - PullRequest
0 голосов
/ 16 мая 2011

Я новичок в WPF и c # и у меня (возможно, очень простая) проблема.

Я пишу небольшое приложение и пытаюсь прочитать данные из базы данных, отформатировать их в список и отобразить в сетке данных. Я отладил его, и я успешно прочитал базу данных, и все данные находятся в списке (cd_list), но он не передает данные в сетку данных.

Ниже мой XAML :

<DataGrid Name="DataGrid" AutoGenerateColumns="false" RowHeaderWidth="0" Width="240" >
            <DataGrid.Columns>
                <DataGridTextColumn Header="Name" ></DataGridTextColumn>
                <DataGridTextColumn Header="Details"></DataGridTextColumn>
                <DataGridTextColumn Header="Employee"></DataGridTextColumn>
                <DataGridTextColumn Header="Date"></DataGridTextColumn>
            </DataGrid.Columns>
        </DataGrid>

Мой код файла выполняет InitializeComponent, затем выполняет некоторую работу по получению данных из БД и помещает их в список call_detail объектов:

public class call_details
{
    public string name;
    public string details;
    public string employee;
    public string date;

    public call_details()
    {
    }
}

Объявление объектов списка и сведений о вызове

   public call_details cd_rec = new call_details();
   public List<call_details> cd_list = new List<call_details>();

Добавить записи в список

   cd_list.Add(cd_rec);           

После того, как это сделано, я пытаюсь предоставить ItemsSource, чтобы данные отображались в Datagrid и имели следующее:

DataGrid.ItemsSource = cd_list;

но это не работает. В графическом интерфейсе Datagrid показывает сетку с правильным количеством ожидаемых записей, но все они пустые. Так что я предполагаю, что он передает некоторую информацию, но не фактические данные. Вероятно, это глупая ошибка, которую я сделал из-за того, что я новичок, но я не могу найти ничего другого, чтобы помочь мне.

Любой

1 Ответ

6 голосов
/ 16 мая 2011

Все эти поля должны быть доступны как публичные свойства как минимум с помощью метода получения (это требование системы привязки).Затем вам нужно привязать к свойствам или просто использовать автоматически сгенерированные столбцы.

public string Name { get; private set; }
<DataGridTextColumn Header="Name" Binding="{Binding Name}" />

Если вы новичок в WPF, я настоятельно рекомендую прочитать некоторые статьи на MSDN * 1006.*.например, Обзор привязки данных .

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