在DataGridView中显示BindingList <(int,int,int)>

时间:2018-09-28 18:33:52

标签: c# winforms datagridview

我有一个BindingList,如下所示:

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

并且我试图在DataGridView中显示此列表:

dataGridView1.DataSource = lst;

lst包含一些元素,在调试器中查看时,我可以看到DataSource的设置正确。但是,dataGridView1中没有任何显示。根据我所做的研究,我认为这个问题与没有专栏有关。我将AutoGenerateColumns设置为true,但这仍然不能解决该问题。

我假设每个元组的名称都将用作列名,但是现在看来并非如此。如何在BindingList中显示此DataGridView,以使每个元组项目都在其自己的列中?

1 个答案:

答案 0 :(得分:2)

您不能在数据绑定中使用值元组,因为元组是通过使用“字段”实现的,Winforms数据绑定在其中使用属性。

在特定情况下,您应该创建一个带有属性的类。

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

    public int ProductId { get; set; }

    public int SupplierId { get; set; }
}