Gilmoo
Gilmoo

Reputation: 60

Treeview from dictionary

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

Answers (1)

SHEePYTaGGeRNeP
SHEePYTaGGeRNeP

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

Related Questions