FastReport分页+空行填充
1.添加两个Band 一个是主数据和CHild(与主数据一样的空白带格子)。
2.生成Page事件。
3.添加代码。
var
aa:Integer;
maxRow:Integer;
procedure Page1OnManualBuild(Sender: TfrxComponent);
var
DataSet: TfrxDataSet;
begin
DataSet := MasterData1.DataSet;
DataSet.First;
while (not DataSet.Eof) or ((aa-1) mod MaxRow<>0) do
begin
if DataSet.Eof then
Engine.ShowBand(Child1)
else Engine.ShowBand(MasterData1);
DataSet.Next;
inc(aa);
if (((aa-1) mod (MaxRow)=0) and (not DataSet.Eof)) then EngIne.Newpage;
end;
end;
begin
aa:=1;
maxRow:=40; //每页最大行数
end.
主要band有
report title
page title
MasterDate band
child1 //用不隶属关系
footer;//此footer要设为不可见的,不能有汇总项,
汇总项用pagefooter 或reportsum 来做,pagefooter为每页小计,reportsum为报表合计。
加一个子Band(名称为child1),在该子Band上画上一行与你的记录行左对齐的空格(memo为空)行;再加一个footer Band,onBeforePrint里写上:
while Engine.FreeSpace> 指定高度 do
Engine.ShowBand(Child1);