2014-10-16 4 views
0

У меня возникла проблема с привязкой datagrids winforms.Winforms datagrid: как связать datagrid со списком производных классов

У меня есть базовый класс А, этот класс наследуется от 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.

Как я могу это сделать?

С уважением,

Moon

ответ

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; } 
    } 
    } 

Вам нужна общая база для любого пользовательского поведения в ваших производных классах.

Смежные вопросы