如何把fastreport未满一页的内容,用空行补全 ( 积分: 50 )

  • 主题发起人 主题发起人 birdhzx
  • 开始时间 开始时间
B

birdhzx

Unregistered / Unconfirmed
GUEST, unregistred user!
可能要写代码,我么没用了边框,空数据想补满一页,就好看点
 
可能要写代码,我么没用了边框,空数据想补满一页,就好看点
 
快来人啊,
 
设置memo的高度
 
在程序里设个计数器,看输出多少行的数据,就可以得到还有多少行,打存折得程序就是这样干得/1
 
具体的说,是在主数据BAND 里计出总行数,
在数据脚BAND,用FOR....TO 进行SHOWBAND ,次数用总行数-主数据行
 
放一個Master Footer,再放一個Child。在Child上畫上你想要的空行。再在Master Footer的BeforePrint事件中寫下:
while freespace>17do
//自行去調空白寬度
showband(child1);
 
这里有个教程,自己去看一看吧。
http://dev.21tx.com/2004/04/27/10303.html
 
打印前已query形式得到数据源,不满行数的用空行填充
 
{FastReport 3.X
///////////////////////////////////////////////////////////
1、if ([line#-1]>1) and ([line#-1] mod 你指定条数=0) then
NEWPAGE
2、加一CHILD BAND,其格式与MASTERDATA一致,先计算出已打印几条记录,然后在MASTER FOOTER的 BEFORE PRINT中,FOR I:=1 TO 每页条数-已打印条数,
SHOWBAND(CHILD1)}
var
PageLine: integer;
//在現在頁列印到第幾行
PageMaxRow: integer=15;
//設定每頁列數
procedure MasterData1OnBeforePrint(Sender: TfrxComponent);
begin
PageLine := <line> mod PageMaxRow;
if (PageLine = 1) and (<line> > 1) then
Engine.newpage;
end;

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

begin
end.
 
同意這個,我一直這麽做的
来自:leadyli, 时间:2005-6-4 10:47:17, ID:3093988
放一個Master Footer,再放一個Child。在Child上畫上你想要的空行。再在Master Footer的BeforePrint事件中寫下:
while freespace>17do
//自行去調空白寬度
showband(child1);
 
我以前有个苯办法处理,可能不是正统的方法,就是我自己先在界面把空白的行填充完,也就是说没有数据库的时候也是有空白网格的,然后再放一个Memo,这里面是有真实数据的,盖在原来那个没有数据的memo上面,个人看法,仅供参考
 
放一個Master Footer,再放一個Child。在Child上畫上你想要的空行。再在Master Footer的BeforePrint事件中寫下:
while freespace>17do
//自行去調空白寬度
showband(child1);

请问,freespace是什么,系统不能识别
 
后退
顶部