将DataGridViewColumn绑定到第2级对象

时间:2010-11-21 05:40:57

标签: .net winforms c#-4.0

我想使用.NET 4.0将我的DataGridView类中的列绑定到C#中的第二级对象中的条目。例如:

我有对象A:

public class A
{
   public long id;
   public B bClass;
}

和对象B

public class B
{
   public long id;
   public string name;
}

有没有办法将类A的列表声明为DataGridView上的数据源,但是将其中一列绑定到B类中的name属性?

我把它提炼了一点,但希望这不会令人困惑。谢谢你的帮助!

2 个答案:

答案 0 :(得分:1)

上述解决方案对我不起作用。我更理解这个问题:Is it possible to bind complex type properties to a datagrid?

我所做的是在gui层中实现一个C类,它在第一级具有所有需要的属性。您还可以编写一个构造函数,从A类初始化新类:

public class C
{
    public C(A a)
    {
        Id = a.Id;
        Bid = a.bClass.Id;
        Bname = a.bClass.Name;
    }

    public long Id;
    public long Bid;
    public string Bname;
}

答案 1 :(得分:0)

是。
绑定时,执行以下操作:

grid.DataSource = MyAList;
grid.DataMember = "bClass";
grid.DataBind();

现在,当你绑定时,你正在评估B类成员。