DataGridView用于没有访问器的类列表

时间:2011-03-17 19:03:57

标签: c# winforms datagridview

我有一个对象列表(List<MyClass>),其成员我希望在DataGridView中有选择地显示。

这是我的班级:

class MyClass
{
   public int X;
   public int Y;
   public int Z;
}

是否可以在不使用访问者的情况下在网格中显示XY成员?我尝试将列添加到DataGridView但数据没有被填充(但我本来可以这样做。我刚刚创建了一个与该字段同名的列。)

我使用以下代码将列表绑定到控件:

datagrid.DataSource = list;

对此的任何帮助都会很棒。

1 个答案:

答案 0 :(得分:1)

问题在于你的班级;你有公共成员但没有公共财产。可绑定控件(如DataGridView)与具有get; set;

的公共属性绑定

简而言之,你需要改变你的课程

class MyClass
{
    public int X
    {
        get;
        set;
    }
    public int Y
    {
        get;
        set;
    }
    public int Z
    {
        get;
        set;
    }
}

然后在设计器中分别指定列DataPropertyName

DataPropertyName = X
DataPropertyName = Y
DataPropertyName = Z