У меня есть BindingList
который выглядит следующим образом:
var lst = BindingList<(int Count, int ProductId, int SupplierId)>
и я пытаюсь отобразить этот список в DataGridView
:
dataGridView1.DataSource = lst;
lst
содержит несколько элементов, и я могу видеть, что DataSource
устанавливается правильно, когда вы смотрите в отладчик. Однако в dataGridView1
ничего не отображается. Из исследования, которое я сделал, я думаю, что эта проблема связана с отсутствием столбцов. Я устанавливаю AutoGenerateColumns
в true
, но это все еще не решило эту проблему.
Я предположил, что имена каждого элемента кортежа будут считаться именем столбца, но теперь кажется, что это не так. Как отобразить этот BindingList
в DataGridView
, чтобы каждый элемент кортежа BindingList
в своем столбце?
Вы не можете использовать кортежи значений в привязке данных, поскольку кортежи реализуются с помощью "полей", где привязка данных Winforms работает со свойствами.
В вашем конкретном случае вы должны создать класс со свойствами.
public class Line
{
public int Count { get; set; }
public int ProductId { get; set; }
public int SupplierId { get; set; }
}