Einzelnen Beitrag anzeigen

Igotcha

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

Re: .... nochmals VirtualStringTree

  Alt 8. Okt 2004, 09:01
Nein, Du hast eigentlich kein Verständnisproblem, denn die Struktur von Root- und Childnodes muss identisch sein.

Du kannst einem Root-Node nicht z.B. geben:

|ID|Monate

und dem Child

|ID|Monate|Tage

Allen Nodes im VT liegt die selbe Recordstruktur zugrunde (ob Du sie mit Daten füllst, ist Deine Sache).

In Deinem Beispiel hätte der VT dann 5 Spalten:

Monat|Kalenderwoche|Projektnummer|Projektname|Datu m

Gruß Igotcha

P.S. Was Du machen könntest, kannst Du hier auf dem Screenshot sehen (von meiner Anwendung)Bild. Du könntest, wo bei mir BEZEICHNUNG steht, z.B. ZEITRAUM schreiben und dann nach JAHR/MONAT Root und Childs bilden, dafür musst Du aber Deine Datenstruktur grundlegend anpassen und eine Parent/Child-Relation hinterlegen

Dein Record könnte dann z.B. so aussehen:

Delphi-Quellcode:
type
PVSTData = ^TVSTData;
TVSTData = record
strPeriode: String;
iProjektnummer: Integer;
strProjektname: String;
dDatum: TDateTime;
strParentID: String;
end;
Deine Records könnten nun so aussehen:

Code:
PERIODE     PROJEKTNR PROJEKTNAME DATUM     PARENTID
10/2004      NULL     NULL       NULL      0
42           12345     Test       11.10.2004 10/2004
42           45678     Test2       13.10.2004 10/2004
11/2004      NULL     NULL       NULL      0
45           78901     Test3       01.11.2004 11/2004
Wenn Du jetzt z.B. aus der DB auslesen willst, machst Du ein

SELECT * FROM tabelle ORDER BY PARENTID, KW, DATUM

liest alles in einer Schleife ein und abhängig von PARENTID erstellst Du einen Rootnode oder einen passenden Childnode zur PARENTID.
  Mit Zitat antworten Zitat