onbeforprint写脚本实现空行~~以下摘自网上Delphi FastReport 打印空行脚本模板 在设计时,我们原来执行如下打印前执行脚本:while freespace>75do
begin
ShowBand(aa);
end;
但是在使用的时候,比如客户想把页头调大点,则打印可能就出现了死循环,这个时候我们可能又需要重新计算freespace的值,为避免以上情况,查询相关资料后,试推算出以下脚本公式: if [FINALPASS] then
begin
num := int((FreeSpace [-其他项Band.Height,[-其他项Ban.Height..]..] )/子项Band.Height);
for i := 1 to numdo
begin
ShowBand(子项Band);
end;
end;
备注: 此脚本在使用的时候需要注意公式: FreeSpace [-其他项Band.Height,[-其他项Ban.Height..]..]) 其中 [其他项Band] 为 打印子项后的需要打印的不包括页脚的所有BAND。 例如:打印项目 页头:ph 主项数据 : band1 子:aa 栏目脚 : bb 页脚:cc 则栏目脚 打印前执行 脚本为: if [FINALPASS] then
begin
num := int((FreeSpace - bb.Height)/aa.Height);
for i := 1 to numdo
begin
ShowBand(aa);
end;
end;