2009-07-14 8 views
3

私は、これはツリービューで共通だと思うが、それはレベルの数を持っている、と私はパスを持っている、と言う:ツリービューをフルパスで拡張するには?

Level1 > Level2 > Level3 > Level4 

どのようにパスを使って、レベル4にツリービューを展開することができますか?組み込み関数はありますか?

ありがとうございました。私はあなたがここから出発点を得る願っています純粋なドキュメント

TreeNode mynode = treeView1.FindNode(pathToNode); 
mynode.Select(); 
mynode.Expand(); 

に基づいて

答えて

-2

薄暗いN System.Web.UI.WebControls.TreeNode = Me.tree.FindNodeとして( "ルート/親2 /子供2")

ExpandPath(N)

Private Shared Sub ExpandPath(ByVal node As System.Web.UI.WebControls.TreeNode) 
    If Not node.Parent Is Nothing Then 
     node.Expand() 
     ExpandPath(node.Parent) 
    Else 
     node.Expand() 
    End If 
End Sub 
+0

ループを使って簡単にやり遂げられることのために再帰に入る人々を得ることは、ラインの下で多くの悪いパーフォーマンスを引き起こします。 – ZXX

+0

これはうまくいけば、自分の答えを追加してみてはどうでしょうか? – eschneider

+0

最初に受け入れられた答え-1と見ると、これは特別なバッジを生成するはずです。 – abalogh

0

+0

ケアを説明するの? – shahkalpesh

+0

thevchildがまだ隠されているため、子は展開されません。また、すべてのノードを展開したいと思っています。 – eschneider

0

この場合質問はまだ一般的です...

node.ExpandParentNodes(); 

これは、親を経由して再帰を使用して展開されます。

0

これを試してみてください:downvotingとき

Private Sub Expand(ByVal sPath As String) 

    Dim objNode As TreeNode 
    Dim preNode As TreeNode = tFolder.Nodes(0) 

    preNode.Expand() 

    Dim sSpl() As String = sPath.Replace("\\", "\").Split("\") 

    For i As Integer = 1 To sSpl.Length - 1 

     For Each objNode In preNode.Nodes 
      If objNode.Text = sSpl(i) Then 
       objNode.Expand() 
       preNode = objNode 
       Exit For 

      End If 
     Next 

    Next 

End Sub 
関連する問題