TreeView-Suche

8

Diese Funktion sucht nur den ersten Knoten in der Baumansicht, der Suchtext enthält.

%Vor%

Wie sollte ich es ändern, so dass die Funktion nicht nur den ersten Knoten finden kann, sondern alle, jedes Mal, wenn ich auf Knopf1 klicke, findet sie den nächsten Knoten bis zum Ende und dann beginnt sie mit dem Anfang. Also sollte ich nicht von TreeView1.Nodes [0], sondern von TreeView1.SelectedNode ...

suchen     
Romz 17.07.2012, 20:48
quelle

3 Antworten

13

Etwas wie das Folgende sollte in Ordnung sein, um es dem Code Ihres Formulars hinzuzufügen.

%Vor%

Es gibt zwei Teile davon;

  1. Sammeln Sie alle Knoten in einem List<TreeNode>

  2. Blättern Sie durch List<TreeNode> , wenn sich die Suche nicht geändert hat. Wenn sich die Suche geändert hat, löschen Sie die Liste und setzen Sie die Indexierung zurück.

Ich habe dies mit Windows Forms getestet, die unter .Net 4 laufen - es durchsucht jeden Knoten in einem TreeView, der den Suchtext enthält, 1 zu 1, bis er den letzten Knoten erreicht.

    
dash 17.07.2012, 21:35
quelle
2

Sie müssen eine Sammlung von Knoten (wie List) erstellen und jeden gefundenen Knoten zu dieser Liste hinzufügen und diesen anstelle eines einzelnen Knotens zurückgeben. Außerdem müssen Sie alle break-Anweisungen entfernen

    
Peter Ritchie 17.07.2012 20:54
quelle
-1

Ich benutze diese Lösung für die Suche enthält Text auf Baum Knoten

%Vor%     
adminpro 21.01.2016 01:48
quelle

Tags und Links