Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    66

    [C#] Iterare livelli tree

    Salve, avevo già postato una domanda simile, poi sono andato leggermente avanti per conto mio e, nel frattempo ho concluso il progetto. L'unica cosa che resta in sospeso è la creazione di un albero popolando tutti i suoi figli per ogni livello. Questa è la funzione che ho creato, ma si ferma solo al primo livello, e non esamina tutti i figli e così via...
    codice:
    for (int p = 0; p < myRows.Length; p++)
                {
                    Ext.Net.TreeNode parentNode;
                    if (myRows[p]["FATHER"].ToString() == "")
                    {
                        // Create Parent Node
                        parentNode = new Ext.Net.TreeNode();
                        parentNode.Text = myRows[p]["TITLE"].ToString();
                        parentNode.Icon = Ext.Net.Icon.Application;
                        parentNode.NodeID = myRows[p]["KEY"].ToString();
                        root.Nodes.Add(parentNode);
                    }
                    else
                    {
    
                        foreach (Ext.Net.TreeNode nodo in root.Nodes)
                        {
                            if (nodo.NodeID == myRows[p]["FATHER"].ToString())
                            {
                                Ext.Net.TreeNode childNode = new Ext.Net.TreeNode();
                                childNode.Text = myRows[p]["TITLE"].ToString();
                                childNode.NodeID = myRows[p]["KEY"].ToString();
                                nodo.Nodes.Add(childNode);
    
                            }
                        }
                    }
                }
    Volevo rendere questa funzione iterativa per popolare ogni sotto livello. Se qualcuno ha qualche consiglio gliene sarei grato ^^

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,477
    Devi scrivere una funzione ricorsiva.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    66
    fin lì c'ero arrivato, ma non sono in grado di dirgli cerca in ogni sotto livello...

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,477
    Originariamente inviato da bolzi89
    fin lì c'ero arrivato
    Non posso saperlo, se non lo dici, visto che parli di funzione iterativa.


    Originariamente inviato da bolzi89
    non sono in grado di dirgli cerca in ogni sotto livello...
    La funzione dovrebbe gestire un solo livello, passato come parametro, e per ogni elemento presente al suo interno chiamare se stessa per gestirlo, così da poter esplorare tutta la gerarchia.

    Esistono migliaia di implementazioni sul Web di procedure di questo tipo, che non sono senz'altro esattamente quella che ti serve, ma sono sufficienti a illustrare il concetto: vedi ad esempio qui.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    66
    Grazie della delucidazione.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.