---
title: "Kört fast med treeview iterera"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/189516-kört-fast-med-treeview-iterera"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "saw"
published: "2012-03-27T11:02:28.000Z"
updated: "2012-03-27T16:14:46.000Z"
replies: 3
views: 634
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/189516-kört-fast-med-treeview-iterera"
---

# Kört fast med treeview iterera

## #1 — saw, 2012-03-27T11:02Z

Jag försöker att få med alla mappar och undermappar som finns i mappen bild.

```
 webbPath = Webbutill.App_Path() +"Bild";
DirectoryInfo modermapp = new DirectoryInfo(webbPath);
             DirectoryInfo[] undermappar = modermapp.GetDirectories();
             TreeView1.Nodes.Clear();
             TreeNode root = new TreeNode();
             root.Text = "Alla album";
             TreeView1.Nodes.Add(root);
             foreach (DirectoryInfo mapp in undermappar)
             {
                 TreeNode node = new TreeNode();
                 node.Text = mapp.Name;
                 node.Value = mapp.Name;
                 node.SelectAction = TreeNodeSelectAction.Select;
                 root.ChildNodes.Add(node);
             }
             TreeView1.ExpandAll();
```

Så långt inga problem, men jag kommer inte på, och hittar inte heller hur jag skall få med undermapparna???  :stud

Permalänk: https://www.webforum.nu/p/189516

## #2 — saw, 2012-03-27T13:15Z

Jag har nu lyckats med att göra en rekusiv konstruktion för att ladda treeview'n, men det ser lite konstigt ut när man titta på bilden.

```
 webbPath = Webbutill.App_Path() +"Bild";
DirectoryInfo modermapp = new DirectoryInfo(webbPath);
             DirectoryInfo[] undermappar = modermapp.GetDirectories();
             foreach (DirectoryInfo mapp in undermappar)
             {
                 TreeNode root = new TreeNode();
                 root.Text = mapp.Name;
                 TreeView1.Nodes.Add(root);
                 DirectoryInfo modermappen = new DirectoryInfo(webbPath + @"\" + mapp.Name);
                 DirectoryInfo[] nyaundermappar = modermappen.GetDirectories();
                 foreach (DirectoryInfo mappar in nyaundermappar)
                 {
                     TreeNode node = new TreeNode();
                     node.Text = mappar.Name;
                     node.Value = mappar.Name;
                     node.SelectAction = TreeNodeSelectAction.Select;
                     root.ChildNodes.Add(node);
                 }
             }
```

Som ni ser så ligger det i olika nivåer..
Hur bör jag göra för att få till det snyggare?  :stud

Bilagor:

- [treeview.png](https://www.webforum.nu/a/23263.png)

Permalänk: https://www.webforum.nu/p/2297072

## #3 — saw, 2012-03-27T13:54Z

Med några små förändringar så fixade det till sig

```
webbPath = Webbutill.App_Path() +"Bild";
DirectoryInfo modermapp = new DirectoryInfo(webbPath);
             DirectoryInfo[] undermappar = modermapp.GetDirectories();
             TreeNode root = new TreeNode();
             root.Text = "Album";
             TreeView1.Nodes.Add(root);
             foreach (DirectoryInfo mapp in undermappar)
             {
                 TreeNode tnode = new TreeNode();
                 tnode.Text = mapp.Name;
                 TreeView1.Nodes[0].ChildNodes.Add(tnode);
                 DirectoryInfo modermappen = new DirectoryInfo(webbPath + @"\" + mapp.Name);
                 DirectoryInfo[] nyaundermappar = modermappen.GetDirectories();
                 foreach (DirectoryInfo mappar in nyaundermappar)
                 {
                     TreeNode node = new TreeNode();
                     node.Text = mappar.Name;
                     node.Value = mappar.Name;
                     node.SelectAction = TreeNodeSelectAction.Select;
                     tnode.ChildNodes.Add(node);
                     tnode.Collapse();
                 }
             }
```

Genom att sedan ändra på 

```
node.value
//till
 node.Value = webbPath + @"\" + mapp.Name + @"\" + mappar.Name;
```

så fick jag hela sökvägen.  :P

Permalänk: https://www.webforum.nu/p/2297074

## #4 — saw, 2012-03-27T16:14Z

Men, hur får jag en node att fortsätta att vara expanderad, inte alla utan den jag senast klickade på

Permalänk: https://www.webforum.nu/p/2297077

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/189516-kört-fast-med-treeview-iterera
