Einzelnen Beitrag anzeigen

lowmax_5

Registriert seit: 9. Mai 2003
Ort: Münster, NRW
258 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: TVirtualStringTree mit TObjectList

  Alt 1. Mär 2019, 10:29
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
  Mit Zitat antworten Zitat