DataGridView заполняется пустыми строками

291
17 мая 2017, 04:50

Пытаюсь заполнить DataGridView в форме значениями из списка:

public partial class TeachDisciplines : Form
{
    public class Discipline
    {
        public int Number { get; set; }
        public string Name { get; set; }
        public Discipline(int v1, string v2)
        {
            Number = v1;
            Name = v2;
        }
    }
    List<Discipline> disc = new List<Discipline>();
    public TeachDisciplines()
    {
        InitializeComponent();
        //DiscList.AutoGenerateColumns = true;
        disc.Add(new Discipline(1, "Программная инженерия"));
        disc.Add(new Discipline(2, "Математический анализ"));
        DiscList.DataSource = disc;
    }
}

Таблица заполняется пустыми строками. Список вроде бы не пустой. Свойства элементов списка тоже публичные. Что ему ещё не хватает?

Answer 1

Вам требуется установить колонкам имя своств из ваших моделей:

Для колонки - DataPropertyName = "Number";

Для колонки Название - DataPropertyName = "Name";

public TeachDisciplines()
{
    InitializeComponent();
    //DiscList.AutoGenerateColumns = true;
    DiscList.Columns[0].DataPropertyName = "Number";
    DiscList.Columns[1].DataPropertyName = "Name";
    disc.Add(new Discipline(1, "Программная инженерия"));
    disc.Add(new Discipline(2, "Математический анализ"));
    DiscList.DataSource = disc;
}

К слову, в настройках колонки в дизайнере есть соответствующий пункт для настройки привязки:

Подробнее про DataGridViewColumn.DataPropertyName

READ ALSO
Зацикливает вывод продуктов

Зацикливает вывод продуктов

Продукты и название выводятся, но вместо 30 их выводится пару сотен Что в коде не так?

368
Получить кол-во шеров страницы в ВК?

Получить кол-во шеров страницы в ВК?

На LP для голосования для каждого видео используется социальные сетиПроблема в том что периодические скачет число сделанных шеров через...

342
Вывод миниатюры страницы WordPress

Вывод миниатюры страницы WordPress

Здравствуйте! Пишу свою тему на ВПНужно получить ссылку и вывести картинку, которая задается к странице

292