用fastreport做报表,每页打印20行,不满20行时补空行以实现20行效果,如何实现?(200分)

  • 主题发起人 主题发起人 tom12345
  • 开始时间 开始时间
T

tom12345

Unregistered / Unconfirmed
GUEST, unregistred user!
要求不能用向数据库中添加空记录的方法
 
修改fastreport控件程序
 
fastreport里面有一个控件
 
手工画上20行。调试表带使之能打印到画出的行上不就行了。
不过此法太笨,被高手嗤笑啊,呵呵。
 
1.在Masterfooter后拉一个Childband,再在上面相应放几个空memo,跟MasterData band上的memo上下对齐。
2.Masterfooter高度設為0。
3.在Masterfooter的OnbeforePrint中键入:
begin
while engine.FreeSpace > 20do
engine.ShowBand(Child1)
end;
 
kaida, 不行啊,加了以后连数据项都不显示了。
 
var
PageLine: integer;
//在現在頁列印到第幾行
PageMaxRow: integer = 32;
//設定每頁列數
procedure MasterData1OnBeforePrint(Sender: TfrxComponent);
begin
PageLine := <line> mod PageMaxRow;
//对于固定行数这一句代码是必要的
if (PageLine = 1) and (<line> > 1) then
Engine.newpage;
end;

procedure PageFooter1OnBeforePrint(Sender: TfrxComponent);
var
i: integer;
begin
i := IIF(PageLine = 0, PageMaxRow, PageLine);
while i < PageMaxRowdo
begin
i := i + 1;
Engine.ShowBand(Child1);
//印空白表格,Child1子带区
end;
end;
 
楼上的不详细,此问题我回答过两次,搜索一下。。。。
 
kequan, PageFooter1OnBeforePrint中不能写入:
var
i:integer;
 
大器晚成, 找不到啊
 
帮顶一下,关注此问题,本人是通过增加数据行实现的!!
 
一个很简单的问题:
加一个insert band 控件时选择 : child (不要选master data等)
 
kequan是对的,我试过
 
我测试了很多遍都出错,能否提供源代码, email: wzf_sg@21cn.com
 
继续关注,看有没有更好的方法
 
后退
顶部