Feedback

C# - Treeview rekursiv durchsuchen

Veröffentlicht von am 2/24/2006
(9 Bewertungen)
Durchsucht die Knoten eines Treeview rekursiv nach einem Text und liefert den ersten gefundenen Konten zurück
TreeNode FindNode (TreeNodeCollection tncoll, String strText)
{
   TreeNode tnFound;
   foreach (TreeNode tnCurr in tncoll) {
      if (tnCurr.Text.StartsWith (strText)) {
         return tnCurr;
      }
      tnFound = FindNode (tnCurr.Nodes, strText);
      if (tnFound != null) {
         return tnFound;
      }
   }
   return null;
}

// Beispielaufruf
void SearchTextChanged (Object objSender, EventArgs ea)
{
   _tvDir.SelectedNode = FindNode (_tvDir.Nodes, _tbxSearch.Text);
}
Abgelegt unter Treeview, Knoten, rekursiv, Rekursion.

1 Kommentare zum Snippet

Niels Oltmanns schrieb am 11/23/2006:
Um einen Textausschnitt zu suchen, z.B. 'arte' in 'Kartenhaus', muss man in Zeile 5 'tnCurr.Text.StartsWith (strText)' durch 'tnCurr.Text.Contains (strText)' ersetzen.
 

Logge dich ein, um hier zu kommentieren!