要实现一棵树下面,如果有子节点是一种图标,如果没有子节点则是另一种图标。
思路是先生成树,然后再遍历树,加载不同的图标。
[code]
public void BulidTree()
{
///根目录
tv.ShowLines = true;
TreeNode tn = new TreeNode();
tn.Text = "所有分类";
tn.Value = "all";
///二级目录
TreeNode tn1 = new TreeNode();
tn1.Text = "电器";
tn1.Value = "dianqi";
tn1.NavigateUrl = "Default.aspx";
///三级目录
TreeNode tn11 = new TreeNode();
tn11.Value = "hao";
tn11.Text = "测试";
tn1.ChildNodes.Add(tn11);
tn.ChildNodes.Add(tn1);
///二级目录
TreeNode tn2= new TreeNode();
tn2.Text = "电脑";
tn2.Value = "dianlao";
tn2.NavigateUrl = "Default2.aspx";
tn.ChildNodes.Add(tn2);
tv.Nodes.Add(tn);
AddIco(tv);
}
[/code]
[code]
public void AddIco(TreeView tv)
{
foreach (TreeNode tn in tv.Nodes)
{
if (tn.ChildNodes.Count <= 0)
{
tn.ImageUrl = "img/001.gif";
}
else
{
tn.ImageUrl = "img/002.gif";
AddIcoToTn(tn);
}
}
}
[/code]
[code]
public void AddIcoToTn(TreeNode tn)
{
foreach (TreeNode tn1 in tn.ChildNodes)
{
if (tn1.ChildNodes.Count <= 0)
{
tn1.ImageUrl = "img/001.gif";
}
else
{
tn1.ImageUrl = "img/002.gif";
AddIcoToTn(tn1);
}
}
}
[/code]