Tengo un control treeview, y contiene un nodo padre único y varios nodos secundarios de ese padre. ¿Hay alguna forma de obtener una matriz o lista de todos los nodos secundarios del padre principal? es decir, obtener todos los nodos de treeview.nodes [0] o el primer nodo padre.Enumerar todos los nodos secundarios de un nodo principal en un control treeview en Visual C#
7
A
Respuesta
6
puede añadir a una lista recursiva de esta manera:
public void AddChildren(List<TreeNode> Nodes, TreeNode Node)
{
foreach (TreeNode thisNode in Node.Nodes)
{
Nodes.Add(thisNode);
AddChildren(Nodes, thisNode);
}
}
Luego llaman a este paso rutinario en el nodo raíz:
List<TreeNode> Nodes = new List<TreeNode>();
AddChildren(Nodes, treeView1.Nodes[0]);
-2
que podría hacer algo como esto .. para obtener todos los nodos en vista de árbol ..
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);
}
}
habría que tomar pls alook en este enlace.
9
public IEnumerable<TreeNode> GetChildren(TreeNode Parent)
{
return Parent.Nodes.Cast<TreeNode>().Concat(
Parent.Nodes.Cast<TreeNode>().SelectMany(GetChildren));
}
Cuestiones relacionadas
- 1. agregando nodos secundarios en treeview
- 2. cómo encontrar nodos secundarios en el nodo raíz [TreeView]
- 3. Cómo obtener una lista de todos los nodos secundarios en TreeView en .NET
- 4. Lea todos los nodos secundarios XML de cada nodo específico
- 5. mongo DB - Todos los nodos secundarios
- 6. XPATH: seleccione todos los nodos secundarios con un atributo específico
- 7. Obtenga una lista de todos los nodos de árbol (en todos los niveles) en TreeView Controls
- 8. ¿Eliminar todos los nodos secundarios de un padre?
- 9. Vista en árbol en formato web compruebe los nodos secundarios en el nodo padre check
- 10. nodo no seleccionable en TreeView
- 11. ¿Cómo puedo encontrar un nodo raíz en TreeView?
- 12. Control TreeView en C#, seleccione() y enfoque
- 13. ¿Pueden los datos vincular un control TreeView?
- 14. XmlPullParser obtener nodos secundarios
- 15. Agrupando objetos secundarios en WPF TreeView
- 16. Cómo seleccionar cierto nodo secundario en TreeView, C#
- 17. Cómo recursivamente enumerar todos los archivos en un directorio en C#?
- 18. ¿Cómo seleccionar todos los nodos raíz o todos los secundarios en VirtualStringTree?
- 19. ¿Cómo encontrar/enumerar todos los nodos en un Application-Cluster J2EE?
- 20. Seleccionar un nodo en TreeView virtualizado con WPF
- 21. ¿Cómo configuro una imagen para algunos nodos, pero no para todos, en un TreeView?
- 22. Umbraco: Lista de nodos secundarios en Control de usuario
- 23. C# XMLreader y nodos secundarios
- 24. OpenMPI: Todos los nodos se ejecutan como nodo 0
- 25. Localizando nodos secundarios de WebElements en selenio
- 26. Servidor SQL: Cómo obtener todos los registros secundarios dado un id principal en una tabla autorreferencial
- 27. Usando XPath con sencillo en el nodo devuelve elementos en todos los nodos
- 28. ¿Cómo enumerar todos los archivos modificados en un volumen oculto?
- 29. ¿Cómo puedo hacer clic con el botón derecho para seleccionar un nodo en un control treeview?
- 30. Líneas entre nodos en WPF TreeView
Gracias por este código ! Tuve que cambiar el foreach para hacerlo funcionar, así: foreach (TreeNode thisNode en Node.ChildNodes) <- Node.ChildNodes en lugar de Node.Nodes –
@Svein, eso es porque estás usando WPF pero este código es para WinForms . No hay ChildNodes en WinForms. –
¡Ah, vale, mi mal! Pero gracias de cualquier manera :) –