Stel deze class voor:
Het hele ItemCol_0 is leuk totdat er een ItemCol_21 nodig is. Het aanmaken van een compleet nieuw object via de Property- Field- en TypeBuilder lukt wel, alleen deze class is vele malen groter, bevat Custom types, etc. etc. ItemCol_n is altijd van het type Int32.
Ik dacht even snugger te zijn en een extra List<object> MyItems toe te voegen aan de bestaande class en deze via de Property- Field- en TypeBuilder toe te voegen aan deze List<>. Helaas is het AgDataGrid niet in staat om de List<> te gebruiken als een TwoWay bound column.
Kort gezegd: Hoe 'extend/import' ik een bestaande class, via Reflection, met behoud van bestaande properties en voeg ik daar nieuwe dynamische properties aan toe.
C#:
Deze class dient als DataContainer voor een AgDataGrid.DataSource middels een List<HorizontalDataGridRow>. De ItemCol_0 ... t/m ItemCol_20 worden via Reflection ingelezen waardoor je de HeaderContent van zo'n ItemCol_0 in het Datagrid op iets als "Naam", "Soort" etc. etc. kan zetten. 1
2
3
4
5
6
7
8
9
10
| public class MyCustomClass { public string Name{ get; set; } public DateTime MyDate { get; set; } public int ItemCol_0 { get; set; } public int ItemCol_1 { get; set; } //.. public int ItemCol_20 { get; set; } //etc. etc. } |
Het hele ItemCol_0 is leuk totdat er een ItemCol_21 nodig is. Het aanmaken van een compleet nieuw object via de Property- Field- en TypeBuilder lukt wel, alleen deze class is vele malen groter, bevat Custom types, etc. etc. ItemCol_n is altijd van het type Int32.
Ik dacht even snugger te zijn en een extra List<object> MyItems toe te voegen aan de bestaande class en deze via de Property- Field- en TypeBuilder toe te voegen aan deze List<>. Helaas is het AgDataGrid niet in staat om de List<> te gebruiken als een TwoWay bound column.
Kort gezegd: Hoe 'extend/import' ik een bestaande class, via Reflection, met behoud van bestaande properties en voeg ik daar nieuwe dynamische properties aan toe.
Heart..pumps blood.Has nothing to do with emotion! Bored