Как узнать, когда печатается последняя полоса деталей? - PullRequest
1 голос
/ 18 марта 2019

У меня есть (повторяющаяся) полоса деталей, и к ней прикреплена дочерняя полоса:

enter image description here

Я хочу скрыть дочернюю полосу , пока она не напечатает детальную полосу last . Концептуально это будет что-то вроде:

enter image description here

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?

...