0
点赞
收藏
分享

微信扫一扫

报表ReportMachine与FastReport固定行数分页不足补空白行实践

ReportMachine与FastReport固定行数分页不足补空白行实践

ReportMachine简单容易,FastReport有点复杂

准备工作

报表ReportMachine与FastReport固定行数分页不足补空白行实践_FastReport

ReportMachine实现

ReportMachine实现很简单,设置报表MasterData的LinesPerPage每页记录数,AutoAppendBlank为True即可。

报表ReportMachine与FastReport固定行数分页不足补空白行实践_固定行数分页不足补空白行实践_02

效果

报表ReportMachine与FastReport固定行数分页不足补空白行实践_FastReport_03

FastReport实现

需在在报表里使用代码来控制才能实现有点麻烦

具体是通过在MasterData超过指定行数时创建新页,Footer页脚来动态增加frxChild

报表ReportMachine与FastReport固定行数分页不足补空白行实践_ReportMachine_04

var
  PageLine: integer; //在当前页打印到第几行
  PageMaxRow: integer=8; //设定每页列数

procedure Footer1OnBeforePrint(Sender: TfrxComponent);
var
  i: integer;
begin
  i := iif(PageLine=0, PageMaxRow, PageLine);
  while i < PageMaxRow do begin
  i := i + 1;
  Engine.ShowBand(Child1); //印空白表格
  end;
end;

procedure MasterData1OnBeforePrint(Sender: TfrxComponent);
begin
  PageLine := <line> mod PageMaxRow;
  if (PageLine = 1) and (<line> > 1) then
  Engine.newpage;
end;
begin
end;

效果

报表ReportMachine与FastReport固定行数分页不足补空白行实践_固定行数分页不足补空白行实践_05

举报
0 条评论