具有多个父级的树视图

时间:2010-02-18 10:19:28

标签: c# asp.net

我在asp.net中使用treeview

树视图

*parent
   @child1
     .child2
*parent
   .child

如果我在回发后点击child2,则上面的对齐不应该改变

但是应该折叠parent1

如果我点击子节点,那么父节点应该折叠

即时使用以下代码

  protected void Page_Load(object sender, EventArgs e)
    {
         if (Session["tvExpandNode1"] != null)
        {
            TreeView1.FindNode(Session["tvExpandNode1"].ToString()).Expand();

        }
    }

  protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
    {
           if (TreeView1.SelectedNode.Expanded == true)
                {
                    Session["tvExpandNode1"] = TreeView1.SelectedNode.Parent.Parent.Value;
                    if (strOpenpage == "Report.aspx")
                    {
                        OpenNewWindow(strOpenpage);
                    }
                    else
                    {
                        Response.Redirect(strOpenpage, false);
                    }
                }   
    } 

它只是不正常......请提供你宝贵的信息........

1 个答案:

答案 0 :(得分:0)

我不知道您的问题是否存在,但如果要扩展叶节点,则需要展开所有父节点。这是一个递归函数。

void expandParentNode(TreeNode node)
{
    if (node == null)
        return;

    node.Expand();
    expandParentNode(node.Parent);
}