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. Visual Studio 6.0
[VB 2012] Treeview da file txt
venerdì 16 ottobre 2015 - 11.18
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
VB.NET
|
Windows 7
|
Visual Studio Express
isotopo75
Profilo
| Newbie
44
messaggi | Data Invio:
ven 16 ott 2015 - 11:18
Buongiorno a tutti,
ho un problema con il popolamento di una treeview in VB 2012 Express. Vi spiego in dettaglio.
Ho un file .txt con delle righe fatte così:
primo|primoA|primoAA|primoAAA
primo|primoA|primoAA|primoAAB
primo|primoA|primoAB
primo|primoB
Leggo il file riga per riga e splitto ogni riga in un array di string, ottenendo, quindi, un array del tipo:
primo
primoA
primoAA
primoAAA
Ciascuno degli elementi deve diventare un nodo della treeview così da popolarla come segue:
primo
-primoA
--primoAA
---primoAAA
La seconda riga, avendo gli stessi nodi della prima, popolerà solo l'ultimo nodo della treeview che, alla fine, diventerà:
primo
-primoA
--primoAA
---primoAAA
---primoAAB
--primoAB
-primoB
Il problema è che non riesco ad implementare i nodi oltre il primo figlio, perché in un ciclo ricorsivo, quando punto il nodo precedente mi dice che l'indice non è compreso nell'intervallo. Io ho fatto così:
linee = IO.File.ReadAllLines(percorso & nomefile.txt)
scomponi = Split(linee(0),"|") 'ottengo la scomposizione della prima linea del file
While i < UBound(scomponi)
If i = 0 Then
treeview.Nodes.Add(scomponi(i))
treeview.Nodes(i).Nodes.Add(scomponi(i + 1))
i = i + 1
Else
trw_todo.Nodes(i).Nodes.Add(scomponi(i + 1)) 'riga 1
end if
End While
In pratica, al primo passaggio inserisco il nodo root ed il primo figlio, dal secondo passaggio in poi, vorrei selezionare il padre precedente ed inserire il nuovo figlio, ma il ciclo mi torna appunto l'errore alla 'riga 1 dicendo che l'indice "i" non è compreso nell'intervallo, come se la treeview non fosse aggiornata dopo l'inserimento dei primi 2 nodi. Ho provato in tutti i modi, creando una lista che potesse contenere la descrizione dell'albero da inserire ma non funziona, oppure cercando ogni singolo nodo con una funzione che ne cerchi il nome... tutte le volte si pianta il ciclo!
Qualcuno ha un'idea di come procedere?
Ho trovato anche altri modi di implementare la funzione nodes.add sull'msdn che consentono di specificare il nodo figlio, tipo questa:
tvwMyTree.Nodes.Add "7 node", tvwChild, "11 node"
ma sul mio vb 2012 express questa modalità di implementare la Add non c'è!
Qualcuno ha idea di come si potrebbe procedere?
Grazie 1000 a tutti!
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 !