diff --git a/components/fpreport/design/fpreportdesignobjectlist.pp b/components/fpreport/design/fpreportdesignobjectlist.pp index 5663edb464..38a1b26d3c 100644 --- a/components/fpreport/design/fpreportdesignobjectlist.pp +++ b/components/fpreport/design/fpreportdesignobjectlist.pp @@ -1011,6 +1011,7 @@ Var B:=TFPReportCustomBandWithData(L[i]); if (B.Data=ADetail.Data) then begin + // Recursively add parent groups if B is TFPReportCustomGroupHeaderBand then begin P:=TFPReportGroupHeaderBand(B); @@ -1020,6 +1021,21 @@ Var P:=TFPReportGroupHeaderBand(P.ParentGroupHeader); end; end; + // Recursively add child group footers... + if B is TFPReportCustomGroupFooterBand then + begin + P:=TFPReportGroupHeaderBand(TFPReportGroupFooterBand(B).GroupHeader); + if Assigned(P) then + begin + P:=TFPReportGroupHeaderBand(P.ChildGroupHeader); + While P<>Nil do + begin + if Assigned(P.GroupFooter) then + AddBandToList(P.GroupFooter); + P:=TFPReportGroupHeaderBand(P.ChildGroupHeader); + end; + end; + end; AddBandToList(B); I:=-1; end;