I have a (repeating) detail band, and attached to it is a child band:
I want to have the child band hidden, until it is printing the last detail band. Conceptually it would be something like:
EOF?
My first thought was to check the .EOF property of the data set; you can be on the data row, but it will still be EOF:
procedure TForm6.DetailBand1BeforePrint(Sender: TQRCustomBand; var PrintBand: Boolean);
begin
// Print our child band if we're the last detail band:
ChildBand1.Enabled := QuickRep1.DataSet.EOF;
end;
But it never happens that .EOF is true.
Perhaps the BeforePrint happens before the internal .Next happens, so instead i try AfterPrint:
procedure TForm6.DetailBand1AfterPrint(Sender: TQRCustomBand; BandPrinted: Boolean);
begin
// Print our child band if we're the last detail band:
ChildBand1.Enabled := QuickRep1.DataSet.EOF;
end;
But .EOF is never set.
How can I detect that the last detail band is printing?
So the question becomes:
How can i detect that the last rbDetail band is printing?


I had the same issue and I solved it by setting the
DetailBand1.FooterBandproperty toChildBand1.This results in
ChildBand1being displayed once after all of the repeatingDetailBand1items have been displayed.