Reputation: 60
I've got this dictionary:
public Dictionary<Map, List<Map>> MapStuctuur
{
get { return new Dictionary<Map, List<Map>>(mapStuctuur); }
}
filled with these items:
private Dictionary<Map,List<Map>> mapStuctuur = new Dictionary<Map,List<Map>>();
Map alles = new Map(0, null, null, new DateTime(1, 1, 1), "Alles");
mapStuctuur.Add(alles,new List<Map>());
Map bla1 = new Map(1, null, null, new DateTime(1, 1, 1), "bla1");
Map bla2 = new Map(2, null, null, new DateTime(1, 1, 1), "bla2");
Map bla3 = new Map(3, null, null, new DateTime(1, 1, 1), "bla3");
mapStuctuur[alles].Add(bla1);
mapStuctuur[alles].Add(bla2);
mapStuctuur[alles].Add(bla3);
Map cba1 = new Map(4, null, null, new DateTime(1, 1, 1), "cba1");
Map cba2 = new Map(5, null, null, new DateTime(1, 1, 1), "cba2");
Map cba3 = new Map(6, null, null, new DateTime(1, 1, 1), "cba3");
mapStuctuur.Add(bla1, new List<Map>());
mapStuctuur[bla1].Add(cba1);
mapStuctuur[bla1].Add(cba2);
mapStuctuur[bla1].Add(cba3);
when i run this code i get the result below.
-alles
--bla1
--bla2
--bla3
-bla1
---cba1
---cba2
---cba3
What i would like is that the values cba1,cba2,cba3 are a grandchild from alles,bla1
-alles
----bla1
--------cba1
--------cba2
--------cba3
----bla2
----bla3
Upvotes: 0
Views: 522
Reputation: 320
this.mappen = new List<Map>(DatabaseHelper.GetAllMaps());
this.mappen.ForEach(delegate(Map pI)
{
pI.Childs = this.mappen.Where(delegate(Map pCh)
{
return pCh.ParentMap.Mapnr == pI.Mapnr;
}).ToList();
});
This sets all parents correctly.
Hope this helps.
Upvotes: 1