2010-09-01 41 views
1

希望你能幫助我,我想一個簡單的TreeView展開問題。asp.net TreeView展開問題

我在我的母版頁中有一個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

有像MakeSureItsVisible事情任何財產?該節點雖然被選中,但父節點不被擴展。 – jaysonragasa 2010-09-01 02:47:04

回答

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();