在ASP.Net树视图上显示子节点时隐藏所有叶节点

时间:2011-03-02 00:40:58

标签: c# asp.net treeview

在我的网站上,我有一个具有这种结构的TreeView:

Root
|-Leaf
|-Parent
|--Leaf 
|--Leaf
|--Child
|---Leaf
|---Leaf
|--Child
|---Leaf
|---Leaf

是否可以使树处于“折叠”状态,其中所有Leaf节点和ONLY叶节点都被隐藏,直到其父节点被展开?理想的解决方案是在没有回发的情况下执行此操作,但此时的任何解决方案都会有所帮助。

“折叠”视图如下所示:

Root
|-Parent
|--Child
|--Child

扩展Root,Parent或Child节点应显示其Leaf节点。折叠节点应重新隐藏其叶节点,但保留子节点可见。

1 个答案:

答案 0 :(得分:0)

这是服务器端(未经测试)的解决方案:

TreeNodeCollection nodes = TreeView1.Nodes;
foreach (node in nodes)
{
   if (node.ChildNodes.Count == 0) 
   {
      node.Parent().Collapse();
   }
}

客户端解决方案绝对是首选方案。