SsawMedlem sedan mars 20011 880 inlägg Frågan#1 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
SsawMedlem sedan mars 20011 880 inlägg 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
SsawMedlem sedan mars 20011 880 inlägg 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
SsawMedlem sedan mars 20011 880 inlägg Men, hur får jag en node att fortsätta att vara expanderad, inte alla utan den jag senast klickade på