Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Teeview carica nodi
mercoledì 25 aprile 2012 - 19.55
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
VB.NET
|
.NET 4.0
massimo1965
Profilo
| Junior Member
134
messaggi | Data Invio:
mer 25 apr 2012 - 19:55
Ciao
a tutti, trovo un certo imbarazzo nella richiesta ma non ne vengo fuori....
Dovrei caricare un treeview seguendo questa logica :
ho un certo numero di chiavi a, a1, a11, a110, b, b1, b12 ...
i nodi figli si agganciano al padre in base a questa regola : key.substring(0,key.length-1)
in pratica il nodo padre a come chiave un carattere in meno del nodo figlio.
Da quello che ho capito ogni nodo a a sua volta dei sotto nodi, ma non riesco a capire come selezionare il nodo che mi
serve, ad esempio a11, e aggiungergli gli altri nodi...
Chi mi da una mano ?
Grazie
forse ho trovato, ma vorrei essere sicuro che la strada sia quella giusta...
anche perchè mi sembra "nu poco incasinato..."
Allora mi sono creato una function ricorsiva
Private Sub FindNodes(ByVal nodeCol As TreeNodeCollection, ByVal KeyNode As String)
Dim tn As TreeNode
Dim Base As String = KeyNode.Substring(0, KeyNode.Length - 1)
For Each tn In nodeCol
If tn.Tag = Base Then
tn.Nodes.Add(KeyNode, KeyNode)
tn.Nodes.Item(KeyNode).Tag = KeyNode
Exit Sub
End If
FindNodes(tn.Nodes, KeyNode)
Next
End Sub
freeteo
Profilo
| Guru
6.542
messaggi | Data Invio:
mer 2 mag 2012 - 09:27
Ciao massimo1965,
sì il tuo procedimento è corretto, usare la funzione ricorsiva è la strada corretta per andare a "spazzolare" tutti i nodi, chiaramente ti ci vuole un punto d'uscita, ossia la verifica che il nodo che stai esplorando sia quello che cerchi.
In quel caso lo selezioni ed esci...direi che l'approccio è corretto, ma ti funziona?
Ciao.
Matteo Raumer
[MCAD .net, MVP Visual C#]
http://blogs.dotnethell.it/freeteo
massimo1965
Profilo
| Junior Member
134
messaggi | Data Invio:
mer 2 mag 2012 - 10:43
si
funziona solo che abituato a vb6 mi sembrava un po' strana
ma adesso che ci sto giocando non mi sembra più così strana...
grazie
freeteo
Profilo
| Guru
6.542
messaggi | Data Invio:
mer 2 mag 2012 - 11:39
>si, funziona solo che abituato a vb6 mi sembrava un po' strana
in che senso strana, intendi la ricorsione?
Sembra in effetti che vada in loop infinito (e se non stai attento succede effettivamente, ma il runtime te lo dice cmq...) ma di fatto è una struttura molto potente.
Anni fa avevo fatto anche un piccolo post a riguardo:
http://www.dotnethell.it/articles/FunzioniRicorsive.aspx
>ma adesso che ci sto giocando non mi sembra più così strana...
eh sì, sono cose interessanti
>grazie
di niente, grazie a te!
Ciao.
Matteo Raumer
[MCAD .net, MVP Visual C#]
http://blogs.dotnethell.it/freeteo
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !