我有一个BindingList
,如下所示:
var lst = BindingList<(int Count, int ProductId, int SupplierId)>
并且我试图在DataGridView
中显示此列表:
dataGridView1.DataSource = lst;
lst
包含一些元素,在调试器中查看时,我可以看到DataSource
的设置正确。但是,dataGridView1
中没有任何显示。根据我所做的研究,我认为这个问题与没有专栏有关。我将AutoGenerateColumns
设置为true
,但这仍然不能解决该问题。
我假设每个元组的名称都将用作列名,但是现在看来并非如此。如何在BindingList
中显示此DataGridView
,以使每个元组项目都在其自己的列中?
答案 0 :(得分:2)
您不能在数据绑定中使用值元组,因为元组是通过使用“字段”实现的,Winforms数据绑定在其中使用属性。
在特定情况下,您应该创建一个带有属性的类。
public class Line
{
public int Count { get; set; }
public int ProductId { get; set; }
public int SupplierId { get; set; }
}