У меня есть (повторяющаяся) полоса деталей, и к ней прикреплена дочерняя полоса:
Я хочу скрыть дочернюю полосу , пока она не напечатает детальную полосу last . Концептуально это будет что-то вроде:
EOF
Моей первой мыслью было проверить свойство .EOF
набора данных; Вы можете быть на строке данных, но все равно будет 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;
Но никогда не бывает, чтобы .EOF
было правдой.
Возможно, BeforePrint произойдет до того, как произойдет внутреннее .Next
, поэтому вместо этого я пытаюсь 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;
Но .EOF
никогда не устанавливается.
Как я могу определить, что печатается последняя полоса деталей?
Так возникает вопрос:
Как я могу определить, что печатается последняя полоса rbDetail?