AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TreeView nach Namen und Vorkommen ordnen

Ein Thema von Ajintaro · begonnen am 18. Mai 2017 · letzter Beitrag vom 18. Mai 2017
 
Benutzerbild von Ajintaro
Ajintaro

Registriert seit: 20. Okt 2004
Ort: Sankt Augustin
138 Beiträge
 
Delphi XE6 Starter
 
#1

TreeView nach Namen und Vorkommen ordnen

  Alt 18. Mai 2017, 14:25
Hallo DP!

Ich habe auf destructor.de den XML parser benutzt um eine kleine xml Datei (siehe Anhang) in einem TreeView anzuzeigen:
http://jaimy.net/tmp/tree.PNG

Meine Absicht ist es, die Knoten eines Levels zu zählen und diese dann in einen "Sammelknoten" zu verschieben. Beim Aufklappen des Sammelknotens werden die Kind-Knoten nummeriert. So sieht das ganze gelöst aus:
http://jaimy.net/tmp/sho.PNG

Das wäre ein deutliches Übersichts-Plus im Gegensatz zu endlos vielen Knoten, die sich einfach nur wiederholen. Lösen wollte ich das mit einer Stringliste, welche sich alle Knoten mit entsprechende Level merkt. Am Ende wird die Liste dann sortiert und das Treeview neu geschrieben. Allerdings scheint mir das ein recht komplizierter Lösungsansatz zu sein.

Delphi-Quellcode:
procedure TFrmMain.Button1Click(Sender: TObject);
var
  node: TTreeNode;
  merker_text:String;
  merker_level:integer;
  sl:TStringList;
begin
  node := TreeView.Items[0];
 TRY

  while Assigned( node ) do
  begin
   //Name und Level merken
    sl := TStringList.Create;
    merker_text := node.Text;
    merker_level := node.Level;
    //Stringlist schreiben
    sl.Add(merker_text+','+IntToStr(merker_level));
    node := node.getNextSibling;
  end;

  showmessage(sl.Text);

  FINALLY
     sl.Free;
  END;
End;
Gibt es keine einfacheren Zähl-Funktionen bei einem TreeView? So etwas wie count childnodes einer Ausgangsnode?

Gruß,

Ajin
Angehängte Dateien
Dateityp: xml books.xml (4,7 KB, 1x aufgerufen)
Jaimy
DAoC 2.0 -> Camelot Unchained !
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:29 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz