【问题标题】:asp.net TreeView Expand questionasp.net TreeView 展开问题
【发布时间】:2011-04-06 14:13:30
【问题描述】:

希望你能帮我解决一个简单的 TreeView Expand 问题。

我的 MasterPage 中有一个 TreeView 控件,我的默认深度是 2,我看到当我点击更深的节点时,它一直在扩展。但是当我重定向到另一个页面时,节点折叠了。

我的代码有问题,假设要保持节点扩展。

TreeNode thisNode = tvCategories.FindNode(Session["SelectedCIDValPath"].ToString()); 如果(这个节点!= null) { thisNode.Selected = true; thisNode.Expand(); thisNode.Select(); thisNode.Expanded = true; lbl.Text = "valuepath:" + Session["SelectedCIDValPath"].ToString(); }

如您所见,我尝试了所有可能的属性和方法来保持更深的节点展开......但它不起作用。

请帮帮我?非常感谢

【问题讨论】:

  • 有没有像 MakeSureItsVisible 这样的属性?虽然选择了节点,但没有展开父节点。

标签: asp.net treeview


【解决方案1】:

恰好是这种情况(我觉得有点令人沮丧)扩展节点不会同时导致父节点扩展。为了确保节点扩展,还需要确保父节点扩展。为此,我保留了一个方便的扩展方法:

public static void EnsureExpanded(this TreeNode node)
{
    if (node != null)
    {
        EnsureExpanded(node.Parent);
        node.Expand();
    }
}

你可以像这样使用扩展:

TreeNode thisNode = tvCategories.FindNode(Session["SelectedCIDValPath"].ToString());
thisNode.EnsureExpanded();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-16
    • 2012-03-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多