AGB  ·  Datenschutz  ·  Impressum  







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

.... nochmals VirtualStringTree

Ein Thema von marcus · begonnen am 7. Okt 2004 · letzter Beitrag vom 14. Okt 2004
 
Igotcha

Registriert seit: 22. Dez 2003
544 Beiträge
 
Delphi 2006 Professional
 
#8

Re: .... nochmals VirtualStringTree

  Alt 8. Okt 2004, 09:32
EDIT: Ich habe meine Beispielstruktur editiert, da sie murks war Du musst nur darauf achten, dass Du Dir irgendwie eine eindeutige PARENTID bastelst (evtl. Nimmst Du noch das Jahr mit rein beim Monat) - mein Beispiel ist nicht eindeutig, da es MONAT=11 und KW=11 geben kann, also für die Spalte ZEITRAUM. Besser, Du schreibst beim Monat noch das Jahr dazu.

Du wirst dabei aber auf ein grundsätzliches "Problem" bei der Arbeit mit VTs stossen, denn man kann Nodes dort nicht direkt anspringen. Sprich sowas wie "hänge den Child an den Node 123" gibt es von Hause aus nicht.

Da kannst Du Dir eine Funktion zu schreiben:

Delphi-Quellcode:
function TfrmMain.FindNodeByPERIODE(aTree: TBaseVirtualTree;
  aID: String;): PVirtualNode;
var
   NodeData: pVSTData;
begin
   Result := aTree.GetFirst;
   while Assigned(Result) do
   begin
     NodeData := pVSTData(aTree.GetNodeData(Result));
     if NodeData^.strPeriode=aID Then
       Exit;
     Result := aTree.GetNext(Result);
   end;
end;
Wenn Du also in Deiner Schleife auf einen Eintrag stößt, wo PARENTID <> 0 ist, dann rufst Du auf:

Code:
 
var
aktueller_knoten: PVirtualNode;
myData: PVSTData;
begin
<--- SCHLEIFENAUSZUG
<--- dieses Konstrukt musst Du in der Schleife für Childs verwenden
aktueller_knoten:=DEINVST.AddChild( FindNodebyPERIODE(DEINVST, PARENTID));
myData:=DEINVST.GetNodeData(aktueller_knoten);
myData.strPeriode:=inttostr(42); //KALENDERWOCHE
myData.strProjektname:='Test';
etc.
end;
Und das Child wird an den richtigen Root angehängt.

Beim Arbeiten mit VSTs muss man sich erstmal bewußt werden, dass dieser wirklich nichts anderes macht, als spitzenmäßige Visualisierungsmöglichkeiten für Treeview-artige Strukturen zu ermöglichen - die Datenhaltung musst Du selbst machen.

Gruß Igotcha
  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 12:49 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