Delphi FASTreport 4 自动补空行的方法
写了一个比较简单易懂易调试的补空行的方法
1.当只有一页时
在masterdata增加一个child,设置visible=false
在masterdata的OnAfterPrint加入事件
procedure MasterData1OnAfterPrint(Sender: TfrxComponent);
var
i,j,k,hh:integer;
hs:string; //当前行数
begin
i:=1;
hh:=18; //数据页每页行数
j:=MasterData1.dataset.recordcount;
k:=hh-j mod hh;
hs:=<line>;
if strtoint(hs)=j then
begin
child1.visible:=true;
while i<=k do
begin
engine.showband(child1);
i:=i+1;
end;
end;
end;
测试很成功,大家可以试试
2.当分栏时,一页内可能打印多个页面,我们需要用完child就改为不可见
procedure DetailData1OnAfterPrint(Sender: TfrxComponent);
var
i,j,k,hh:integer;
hs:string; //当前行数
begin
i:=1;
hh:=3; //数据页每页行数
j:= DetailData1.dataset.recordcount;
if hh<>j then
begin
k:=hh-j mod hh;
hs:=<line>;
if strtoint(hs)=j then
begin
while i<=k do
begin
child1.visible:=true;
engine.showband(child1);
i:=i+1;
child1.visible:=false;
end;
end;
end;
end;

浙公网安备 33010602011771号