希望你帮助我,我认为一个简单的TreeView Expand问题。
我在MasterPage中有一个TreeView控件,我的默认深度是2,我看到当我点击更深的节点时它会不断展开..但是当我重定向到另一个页面时,节点崩溃了。
我的代码存在问题,它假设保持节点扩展。
TreeNode thisNode = tvCategories.FindNode(Session["SelectedCIDValPath"].ToString()); if (thisNode != null) { thisNode.Selected = true; thisNode.Expand(); thisNode.Select(); thisNode.Expanded = true; lbl.Text = "valupath: " + Session["SelectedCIDValPath"].ToString(); }
正如您所看到的,我尝试了所有可能的属性和方法来保持更深层节点的扩展..但它不起作用。
请帮帮我?非常感谢你
答案 0 :(得分:0)
恰好是这种情况(我觉得有点令人沮丧),扩展节点也不会导致父节点扩展。为了确保节点扩展,还必须确保父节点扩展。为此,我保留了一个方便的扩展方法:
public static void EnsureExpanded(this TreeNode node)
{
if (node != null)
{
EnsureExpanded(node.Parent);
node.Expand();
}
}
你可以像这样使用扩展名:
TreeNode thisNode = tvCategories.FindNode(Session["SelectedCIDValPath"].ToString());
thisNode.EnsureExpanded();