Ho un controllo treeview e contiene un nodo padre singolo e diversi nodi figlio da quel padre. C'è un modo per ottenere una matrice o un elenco di tutti i nodi figli dal genitore principale? cioè ottenere tutti i nodi da treeview.nodes [0], o il primo nodo genitore.Elencare tutti i nodi figlio di un nodo padre in un controllo TreeView in Visual C#
7
A
risposta
6
È possibile aggiungere a un elenco in modo ricorsivo come questo:
public void AddChildren(List<TreeNode> Nodes, TreeNode Node)
{
foreach (TreeNode thisNode in Node.Nodes)
{
Nodes.Add(thisNode);
AddChildren(Nodes, thisNode);
}
}
quindi chiamare questo passaggio di routine nel nodo principale:
List<TreeNode> Nodes = new List<TreeNode>();
AddChildren(Nodes, treeView1.Nodes[0]);
-2
Si potrebbe fare qualcosa di simile .. per ottenere i tutti i nodi di visualizzazione ad albero ..
private void PrintRecursive(TreeNode treeNode)
{
// Print the node.
System.Diagnostics.Debug.WriteLine(treeNode.Text);
MessageBox.Show(treeNode.Text);
// Print each node recursively.
foreach (TreeNode tn in treeNode.Nodes)
{
PrintRecursive(tn);
}
}
// Call the procedure using the TreeView.
private void CallRecursive(TreeView treeView)
{
// Print each node recursively.
TreeNodeCollection nodes = treeView.Nodes;
foreach (TreeNode n in nodes)
{
PrintRecursive(n);
}
}
sarebbe pls prendere alook a questo link.
9
public IEnumerable<TreeNode> GetChildren(TreeNode Parent)
{
return Parent.Nodes.Cast<TreeNode>().Concat(
Parent.Nodes.Cast<TreeNode>().SelectMany(GetChildren));
}
Problemi correlati
- 1. Ottieni il nodo padre di un figlio in WPF C# TreeView
- 2. Accesso a tutti i nodi in TreeView Control
- 3. Ottenere un elenco di tutti i nodi dell'albero (in tutti i livelli) in TreeView Controls
- 4. Leggere tutti i nodi figlio XML di ciascun nodo specifico
- 5. Treeview nel modulo Web controlla i nodi figlio sul controllo nodo genitore
- 6. XPATH - Seleziona tutti i nodi figlio con un attributo specifico
- 7. XPath: Get nodi in cui nodo figlio contiene un attributo
- 8. Linee tra i nodi in WPF TreeView
- 9. XmlPullParser ottiene i nodi figlio
- 10. Controllo TreeView in C#, select() e focus
- 11. Windows -C# - Treeview senza linee di collegamento
- 12. Raggruppamento di oggetti figlio in WPF TreeView
- 13. Come trovare tutti i nodi in un grafico equidistante da un determinato set di nodi?
- 14. Riordinare i nodi figlio in django-MPTT
- 15. Elimina nodo padre selezionato e nodi figlio: la raccolta è stata modificata; l'operazione di enumerazione non può eseguire
- 16. Come aggiungere nodi in un TreeView nel modo più veloce?
- 17. SQL Server: come ottenere tutti i record figlio dati un id padre in una tabella autoreferenziale
- 18. NSOutlineView - Espansione automatica di tutti i nodi
- 19. Come rimuovere tutti i nodi figlio di un XmlElement, ma mantenere tutti gli attributi?
- 20. Elencare tutti i valori di un determinato campo in mongodb
- 21. Umbraco - Ottieni tutti i tag utilizzati in un nodo/gruppo
- 22. Selezione multipla in un TreeView
- 23. Trova nodo TreeView per valore
- 24. Ottenere attributo di un nodo padre
- 25. Umbraco: elenca i nodi figlio nel controllo utente
- 26. Come si selezionano i nodi che NON hanno un nodo figlio particolare?
- 27. Ottenere tutti i nodi connessi ad un nodo in Apache Spark Graphx
- 28. Come selezionare tutti i nodi figlio tranne i nodi di testo?
- 29. Come ottenere tutti i nodi foglia di un albero?
- 30. Come ottenere tutti i child del nodo root in jtree?
Grazie per questo codice ! Ho dovuto cambiare foreach per farlo funzionare, in questo modo: foreach (TreeNode thisNode in Node.ChildNodes) <- Node.ChildNodes invece di Node.Nodes –
@Svein perché si sta utilizzando WPF ma questo codice è per WinForms . Non ci sono ChildNode in WinForms. –
Ah, ok, mio male! Ma grazie comunque :) –