113 messaggi dal 03 maggio 2006
Buongiorno a tutti,
ho una treeview che ha 5 nodi figlio che a loro volta hanno altri 5 nodi figlio

Vorrei fare in modo che aprendo un nodo si chiudessero tutti gli altri.

Ho trovato questo codice

Protected Sub TreeView1_TreeNodeExpanded(ByVal sender As Object, ByVal e As TreeNodeEventArgs)


' Loop through all nodes


For Each treenode As TreeNode In TreeView1.Nodes


' If node is expanded


If treenode IsNot e.Node Then


' Collapse all other nodes


treenode.Collapse()


End If


Next treenode


End Sub



che funziona solo nel primo ramo dopo la root.

Sarebbe possibile farlo funzionare anche per nodi di livello inferiore ??

Grazie a tutti come sempre

Paolo
113 messaggi dal 03 maggio 2006
Risolto ..

Protected Sub TreeView1_TreeNodeExpanded(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.TreeNodeEventArgs) Handles TreeView1.TreeNodeExpanded

If e.Node.Parent Is Nothing Then
For Each node As TreeNode In (CType(sender, TreeView)).Nodes
If Not (node.Equals(e.Node)) Then
node.Collapse()
End If
Next
Return
End If

Dim tn As TreeNode = e.Node.Parent
For Each node As TreeNode In tn.ChildNodes
If Not (node.Equals(e.Node)) Then
node.Collapse()
End If
Next

End Sub

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.