Отображение BindingList <(int, int, int)> в DataGridView - PullRequest
0 голосов
/ 28 сентября 2018

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

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

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

dataGridView1.DataSource = lst;

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

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

1 Ответ

0 голосов
/ 28 сентября 2018

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

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

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

    public int ProductId { get; set; }

    public int SupplierId { get; set; }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...