Einzelnen Beitrag anzeigen

Aviator

Registriert seit: 3. Jun 2010
1.610 Beiträge
 
Delphi 10.3 Rio
 
#12

AW: VirtualStringTree Komponente

  Alt 10. Nov 2017, 09:38
Wie benutzt man denn diese 2 Befehle wenn man ne VirtualStringTree benutzt.

Beispiel ist für ne normale ListView Komponente.
Delphi-Quellcode:
ListItem := form1.ListView1.FindCaption(0, EntryString, False, True, False);
for I := form1.ListView1.Items.Count - 1 downto 0 do
weil FindCaption und Items fehlen bei der VirtualStringTree.
FindCaption und Items gibt es deshalb nicht, weil die Komponenten die Daten eben nur virtuell vorhält und diese an die Node angeflanscht sind. Theoretisch könnte in deinem Text[Node] (was übrigens die Eigenschaft ist um den angezeigten Text der Node auszulesen [aber nur ttNormal und nicht ttStatic wenn ich mich richtig erinnere]) etwas ganz anderes stehen als du eigentlich in deinem DataObject drin hast. Der Node könnte theoretisch auch ein ganz anderer Text zugewiesen werden da das im OnGetText Event passiert.

Also entweder du baust dir eine Datenstruktur aus TObject (bzw. Nachfahre davon) und TObjectList<T> was die bessere Lösung ist, oder du musst per vst.GetFirst , vst.GetNext und vst.GetNodeData arbeiten und dir den entsprechenden Text aus den der Node zugewiesenen Objects/Records auslesen.
  Mit Zitat antworten Zitat