Ho una vista ad albero che è già popolata con file/cartelle da un'altra procedura. Mi piacerebbe iterare uno ad uno attraverso gli elementi nella vista ad albero, andando nell'ordine esatto da cima a fondo. Tuttavia, a differenza di un elenco normale, non posso utilizzare solo una semplice dichiarazione for
per questo. Devo andare in ogni nodo, ecc.Iterare in modo ricorsivo attraverso i nodi in una vista ad albero?
Come faccio? Spero che ci sia un modo per farlo senza eseguire una procedura ricorsiva. Mentre eseguo l'iterazione di questi elementi, non mi interessa necessariamente i nodi padre o figlio di quello attualmente focalizzato. Devo solo essere in grado di leggere la proprietà Data
di ogni nodo mentre li passo, oltre a evidenziare quello corrente nella vista ad albero mentre lo percorro. Per ogni elemento in questa vista ad albero, eseguirò un po 'di lavoro e voglio visualizzare visivamente all'utente quale è attualmente selezionato durante questo processo.
"Non posso usare solo una semplice istruzione per questo" <- Ho problemi a capire perché? si suppone che si usi una funzione/procedura ricorsiva con un ** per ** loop nel suo corpo, dopo che il ** for loop ** si agisce sulla proprietà Node.Data e il chiamante passerà al nodo successivo e così via ... – ComputerSaysNo
Ho detto che non posso usare una semplice istruzione ** for ** per questo, perché non esiste una cosa come un indice oggetto o un numero totale di nodi in una vista ad albero. –
L'intera ragione che sto chiedendo è perché sto cercando di evitare di chiamare effettivamente questa stessa procedura in modo ricorsivo, preferirei avere solo un ciclo 0..MAX-1 senza ricorsione, ma non penso sia possibile e mi piacerebbe esserne sicuro. –