Hallo,
zunächst mal danke für eure Hilfe.
Ich habe das Problem nun folgendermaßen lösen können:
(Sicherlich nicht sehr elegant und ballastreich)
Delphi-Quellcode:
procedure TFA.VSTDblClick(Sender: TObject);
var
Data : PTreeData;
Node, ParentNode : PVirtualNode;
InitialStates: TVirtualNodeInitStates;
ListItem: TListItem;
ListView: TListView;
iLevel : integer;
begin
Data:= VST.GetNodeData(Node);
begin
if Assigned(Data)and (Data<>nil) then
begin
Node:=VST.focusedNode ;
iLevel := VST.GetNodeLevel(Node);
if VST.RootNodeCount > 0 then
if VST.SelectedCount > 0 then
begin
Data := VST.GetNodeData(VST.GetFirstSelected);
if ParentNode <> nil then
InitialStates := InitialStates + [ivsHasChildren, ivsExpanded];
with q1 do
begin
case iLevel of
0:
begin
filtered := true;
filter := 'Kunden = ' +#39 + (TTreeDataClass(Data.FObject).FKunden) +#39;
with LV1 do
begin
clear;
ListItem := Items.Add;
ListItem.Caption :=FieldByName('Str').AsString ;
ListItem := Items.Add;
ListItem.Caption :=FieldByName('Ort').AsString ;
.
.
.
end;
end;
1:
begin
filtered := true;
filter := 'Auftraege = ' +#39 + (TTreeDataClass(Data.FObject).FAuftraege) +#39;
with LV1 do
begin
clear;
ListItem := Items.Add;
ListItem.Caption :=FieldByName('Nr').AsString ;
ListItem := Items.Add;
ListItem.Caption :=FieldByName('Datum').AsString ;
.
.
.
end;
end;
2:
begin
.
.
.
end;
.
.
.
end;
end;
end;
end;
end;
end;
Vielleicht kennt ihr eine kürzere und/oder elegantere Lösung.
Wäre für jede lehrreiche Lektion dankbar.
Gruß U.