Aktuell fülle ich die Struktur mit:
Code:
Data := TDataClass.Create;
DataLst.Add(Data);
Data.Zeitraum := '01/2019';
vnHead:= AddVSTStructureHeadClass(vstSP, nil, TDataClass(DataLst[0]));
Data.Detail.Caption:='Zeile1:';
Data.Detail.Wert1 := 'Det1 - Wert1';
Data.Detail.Wert2 := 'Det1 - Wert2';
Data.Detail.Wert3 := 'Det1 - Wert3';
AddVSTStructureDetailClass(vstSP, vnHead, DataLst[0].Detail);
Data.Detail.Caption:='Zeile2:';
Data.Detail.Wert1 := 'Det2 - Wert1';
Data.Detail.Wert2 := 'Det2 - Wert2';
Data.Detail.Wert3 := 'Det2 - Wert3';
AddVSTStructureDetailClass(vstSP, vnHead, DataLst[0].Detail);
GetText:
Code:
procedure TForm5.vstSPGetText(Sender: TBaseVirtualTree; Node: PVirtualNode;
Column: TColumnIndex; TextType: TVSTTextType; var CellText: string);
var
Data: PDataClass;
Detail : PDetailClass;
begin
Detail := vstSP.GetNodeData(Node);
if vstSP.GetNodeLevel(Node)=0 then
begin
Data := vstSP.GetNodeData(Node);
Data := vstSP.GetNodeData(Node);
case Column of
0: begin
CellText := Data.Zeitraum;
end;
1: CellText := '';
2: CellText := '';
3: CellText := '';
end;
end;
if vstSP.GetNodeLevel(Node)=1 then
begin
case Column of
0: CellText := Detail.Caption;
1: CellText := Detail.Wert1;
2: CellText := Detail.Wert2;
3: CellText := Detail.Wert3;
end;
end;
end;
Im Ergebnis wird für beide Childs nur Zeile 2 angezeigt