Mam kontrolę widoku drzewa i zawiera on jeden węzeł nadrzędny i kilka węzłów potomnych z tego rodzica. Czy istnieje sposób na uzyskanie tablicy lub listy wszystkich węzłów podrzędnych z głównego elementu nadrzędnego? tj. pobieranie wszystkich węzłów z treeview.nodes [0] lub pierwszego węzła nadrzędnego.Lista wszystkich węzłów podrzędnych węzła nadrzędnego w formantu widoku drzewa w języku Visual C#
7
A
Odpowiedz
6
Można dodać do listy rekurencyjnie tak:
public void AddChildren(List<TreeNode> Nodes, TreeNode Node)
{
foreach (TreeNode thisNode in Node.Nodes)
{
Nodes.Add(thisNode);
AddChildren(Nodes, thisNode);
}
}
Następnie nazwać to rutynowe przekazując węzła głównego:
List<TreeNode> Nodes = new List<TreeNode>();
AddChildren(Nodes, treeView1.Nodes[0]);
-2
Można zrobić coś takiego .. uzyskać wszystkie węzły w widoku drzewa ..
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);
}
}
byś pls wziąć alook pod tym linkiem.
9
public IEnumerable<TreeNode> GetChildren(TreeNode Parent)
{
return Parent.Nodes.Cast<TreeNode>().Concat(
Parent.Nodes.Cast<TreeNode>().SelectMany(GetChildren));
}
Powiązane problemy
- 1. dodawanie węzłów potomnych w widoku drzewa
- 2. Jak uzyskać listę wszystkich węzłów podrzędnych w TreeView w .NET
- 3. C++: Suma wartości wszystkich węzłów drzewa binarnego
- 4. Widok drzewa WinForm, rekurencyjnie sprawdź problem węzłów podrzędnych
- 5. Przechodzenie przez ogólną strukturę drzewa rozpoczynającą się od dowolnego węzła w języku C#
- 6. Jak utworzyć szablon węzła dla widoku drzewa?
- 7. Usuwanie wszystkich widoków podrzędnych z widoku
- 8. Lokalizowanie węzłów podrzędnych WebElements w selenach
- 9. C#: Pobieranie wszystkich węzłów dokumentu XML
- 10. Jak odczytać atrybut węzła nadrzędnego od węzła potomnego w XSLT
- 11. Szukasz implementacji drzewa sufiksów w języku C#?
- 12. Znajdowanie WSZYSTKICH formantów podrzędnych WPF
- 13. Windows -C# - Widok drzewa bez linii łączących
- 14. Przechylanie drzewa w celu znalezienia węzła
- 15. Tworzenie węzłów podrzędnych dla węzła DynamicNode w MvcSiteMapProvider z parametrami dynamicznymi
- 16. Zaznaczanie wszystkich obiektów podrzędnych w Linq
- 17. Uzyskaj listę wszystkich węzłów drzewa (na wszystkich poziomach) w kontrolkach TreeView
- 18. C#: Lista wszystkich klas w zestawie
- 19. Najkrótsza ścieżka do odwiedzenia wszystkich węzłów
- 20. Przenoszenie formantu przez przeciągnięcie go myszą w języku C#
- 21. NSOutlineView - Automatyczne rozwijanie wszystkich węzłów
- 22. Jak mogę dołączyć tablicę węzłów potomnych do węzła nadrzędnego w jednej operacji przy użyciu JavaScript?
- 23. Odczyt wybranych wartości węzła z widoku drzewa kendo?
- 24. tranzytowej zdarzenia myszy do formantu nadrzędnego
- 25. Znajdowanie dokładnego węzła C#
- 26. Kodowanie wszystkich nie alfabetycznych w języku C#
- 27. Visual Studio 2012: Lista wszystkich metod w klasie
- 28. Umbraco: Lista węzłów potomnych w kontroli użytkownika
- 29. Wycofywanie rekordu nadrzędnego nie usuwa rekordów podrzędnych.
- 30. Jak wywołać funkcję w dyrektywie kątowej po przetworzeniu węzłów podrzędnych?
Dziękuję za ten kod ! Musiałem zmienić foreach, aby działało, jak na przykład: foreach (TreeNode thisNode w Node.ChildNodes) <- Node.ChildNodes zamiast Node.Nodes –
@Svein to dlatego, że używasz WPF, ale ten kod jest dla WinForms . W WinForm nie ma żadnych ChildNodes. –
Ah, ok, mój zły! Ale i tak dzięki :) –