Отображение BindingList <(int, int, int)> в DataGridView

2

У меня есть BindingList который выглядит следующим образом:

var lst = BindingList<(int Count, int ProductId, int SupplierId)>

и я пытаюсь отобразить этот список в DataGridView:

dataGridView1.DataSource = lst;

lst содержит несколько элементов, и я могу видеть, что DataSource устанавливается правильно, когда вы смотрите в отладчик. Однако в dataGridView1 ничего не отображается. Из исследования, которое я сделал, я думаю, что эта проблема связана с отсутствием столбцов. Я устанавливаю AutoGenerateColumns в true, но это все еще не решило эту проблему.

Я предположил, что имена каждого элемента кортежа будут считаться именем столбца, но теперь кажется, что это не так. Как отобразить этот BindingList в DataGridView, чтобы каждый элемент кортежа BindingList в своем столбце?

Теги:
winforms
datagridview

1 ответ

2
Лучший ответ

Вы не можете использовать кортежи значений в привязке данных, поскольку кортежи реализуются с помощью "полей", где привязка данных Winforms работает со свойствами.

В вашем конкретном случае вы должны создать класс со свойствами.

public class Line
{
    public int Count { get; set; }

    public int ProductId { get; set; }

    public int SupplierId { get; set; }
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню