Winforms datagrid:如何将datagrid与派生类列表绑定

时间:2014-10-16 08:42:40

标签: c# winforms datagrid

我遇到了winforms datagrids绑定问题。

我有一个基类A,这个类由A1和A2继承

public class A
{
  public string P {get;set;}
}

public class A1 : A
{
  public string P1 {get;set;}
}

public class A2 : A
{
  public string P2{get;set;}
}

我还有一个我希望在网格中显示的列表

List<A> Mylist = new List<A>();

MyList.add(new A1());
MyList.add(new A2());

网格有2列,第一列显示P值,第二列显示P1或P2。

我该怎么做?

此致

月球

1 个答案:

答案 0 :(得分:1)

像这样设计你的课程:

public class A
  {
    public string P { get; set; }
    public virtual string VirtualString { get; set; }
  }

  public class A1 : A
  {
    public string P1 { get; set; }

    public override string VirtualString
    {
      get { return P1; }
      set { P1 = value; }
    }
  }

  public class A2 : A
  {
    public string P2 { get; set; }

    public override string VirtualString
    {
      get { return P2; }
      set { P2 = value; }
    }
  }

您需要为派生类中的任何自定义行为提供公共基础。