Composite reports - column headers not printing.
To make column headers print correctly in composite
reports a small code change is required to file 'Quickrpt.pas'.
This fix is compatible as it does not affect the interface.
1. Declare a new module-wide global -
var // AFTER the 'implementation'
GlobalCompositeFlag : boolean; // Add this
cqrRulerMinorStyle : TPenStyle;
cqrRulerMajorStyle : TPenStyle;
2. In procedure TQRController.Execute, change a line -
// next line failed in composite mode when PageNumber > 1
// amend to this
if ((ParentReport.PageNumber <= 1) or GlobalCompositeFlag ) and { Print first column header }
(SelfCheck is TCustomQuickRep) then
begin
if (ParentReport.Bands.ColumnHeaderBand <> nil) and
(ParentReport.Bands.ColumnHeaderBand.Enabled) then
begin
ParentReport.PrintBand(ParentReport.Bands.ColumnHeaderBand);
ParentReport.NoForceNewPage := true;
end;
end;
3. In procedure TCustomQuickRep.CreateReport(CompositeReport : boolean)
add a line as shown -
..
..
Controller.Prepare;
PrepareComponents;
GlobalCompositeFlag := CompositeReport; // Add this line
Execute;
if not CompositeReport then
begin
..
..
4. Rebuild.
|