Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Virtual TreeView Nodes anzeigen verbergen (https://www.delphipraxis.net/131191-virtual-treeview-nodes-anzeigen-verbergen.html)

Jens Hartmann 21. Mär 2009 10:49

Re: Virtual TreeView Nodes anzeigen verbergen
 
Jetzt hab ich aber auch mal noch ne frage zu verborgenen Teilen im einem VST.
Das heißt, ich will die nich verbergen, sondern gar nicht erste im VST stehen haben.

Wenn ich aus einer Datenbank nur die letzten 4000 einträge sehen will, dann lese ich diese auch nur ein. Kommen jetzt aber Daten neu ins VST, will ich ja nicht immer die Datenbank neu einlesen, sondern einfach parallel zum eintragen in die Datenbank, diese auch dem VST zufügen.

Das heißt wie kann ich dann den obersten Eintrag in der Ansicht löschen, und am Ende genau einen Anfügen. usw.

Hier mal so ein Ansatz. Leider komme ich damit auch nicht richtig weiter.

Delphi-Quellcode:
          if VST.RootNodeCount >= 4000 then
          begin
            //Irgendwie die gesamte erste Zeile löschen
          end;
          VST.AddChild(nil,Daten);
Gruß Jens

oki 21. Mär 2009 11:16

Re: Virtual TreeView Nodes anzeigen verbergen
 
ich denke so:
Delphi-Quellcode:
  VTree.DeleteNode(VTree.GetFirst);
gruß oki

Pichel 21. Mär 2009 11:49

Re: Virtual TreeView Nodes anzeigen verbergen
 
Zitat:

Zitat von Jens Hartmann
Mit dieser Funktion, führst du einen Vergleich durch.
Delphi-Quellcode:
//Hier wird z.B. wie im Video die Eingabe in einem Edit als Suche verwendet
procedure TForm1.Edit1Change(Sender: TObject);
begin
  VST.IterateSubtree(nil, SucheCallback, nil);  //Durch die Eingabe im Edit wird die Suchfunktion aktiviert
end;

Sollte man nicht vorher den Status des TreeView prüfen?
Delphi-Quellcode:
  if not (tsIterating in VST.TreeStates)
    then VST.IterateSubtree(nil, SucheCallback, nil);  //Durch die Eingabe im Edit wird die Suchfunktion aktiviert
Ich frage nur mal, weil ich das mal irgendwo aufgeschnappt habe ;-)

Jens Hartmann 21. Mär 2009 14:08

Re: Virtual TreeView Nodes anzeigen verbergen
 
Zitat:

ich denke so:
Delphi-Quellcode:
 
VTree.DeleteNode(VTree.GetFirst);

Das funktioniert aufjedenfall.

Gruß Jens

oki 21. Mär 2009 17:51

Re: Virtual TreeView Nodes anzeigen verbergen
 
Zitat:

Zitat von Jens Hartmann
Zitat:

ich denke so:
Delphi-Quellcode:
 
VTree.DeleteNode(VTree.GetFirst);

Das funktioniert aufjedenfall.

Gruß Jens

Schön, war das die Lösung für dich? Wenn ja, freuts mich.

Gruß oki

Jens Hartmann 21. Mär 2009 23:50

Re: Virtual TreeView Nodes anzeigen verbergen
 
Ja, deine frage, und meine Lösung. Hat sich halt durch deine Frage ergeben.

Hast Du denn dein Problem gelößt.

Gruß Jens

oki 22. Mär 2009 11:30

Re: Virtual TreeView Nodes anzeigen verbergen
 
Hi,

ich will das mit dem Visible heute umarbeiten. Damit ist das zwar noch nicht getestet, aber meine Frage ist beantwortet. Es hat zwar auch mit der direkten Änderung des NodeState wie in meinem zweiten Post geklappt, aber die Argumente für die Nutzung der Funktion sind einleuchtend. Deshalb werde ich es so ändern wie ihr es vorgeschlagen habt. Man muss sich ja nicht mit Macht neue Baustellen fabrizieren.

Dank und Gruß

oki


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:59 Uhr.
Seite 2 von 2     12   

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