Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 来自字典的树视图_C#_Dictionary_Treeview - Fatal编程技术网

C# 来自字典的树视图

C# 来自字典的树视图,c#,dictionary,treeview,C#,Dictionary,Treeview,我有这本字典: public Dictionary<Map, List<Map>> MapStuctuur { get { return new Dictionary<Map, List<Map>>(mapStuctuur); } } 我想要的是cba1,cba2,cba3的值是alles,bla1的孙子 -alles ----bla1 --------cba1 --------cba2 --------cba3 ----bla2 ---

我有这本字典:

public Dictionary<Map, List<Map>> MapStuctuur
{
    get { return new Dictionary<Map, List<Map>>(mapStuctuur); }
}
我想要的是cba1,cba2,cba3的值是alles,bla1的孙子

-alles
----bla1
--------cba1
--------cba2
--------cba3
----bla2
----bla3
this.mappen=新列表(DatabaseHelper.GetAllMaps());
this.mappen.ForEach(委托(映射pI)
{
pI.Childs=this.mappen.Where(委托(映射pCh)
{
返回pCh.ParentMap.Mapnr==pI.Mapnr;
}).ToList();
});
这将正确设置所有家长


希望这能有所帮助。

能否向我们展示用于在树状视图中显示词典的代码?能否将Map类更改为包含地图列表?与第一条注释相同。问题在于从字典到
TreeView
的转换,而这正是您完全忽略的代码。还有,为什么要用字典来表示这棵树?理想情况下,
Map
对象本身应该知道它的子对象,并且可以形成树,但是如果不知道,您可以用一个容器对象创建一个真正的树,该容器对象包含一个
Map
,以及关于子对象(或者父对象)的信息。使用字典是可行的,但它只会让事情变得不可读,难以调试。
-alles
--bla1
--bla2
--bla3

-bla1
---cba1
---cba2
---cba3
-alles
----bla1
--------cba1
--------cba2
--------cba3
----bla2
----bla3
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();

            });