fr24打印报表的页计和合计的问题(100分)

  • 主题发起人 主题发起人 zhceleu
  • 开始时间 开始时间
Z

zhceleu

Unregistered / Unconfirmed
GUEST, unregistred user!
假设有20条记录,每页打印15条,那么如何实现第一页有页计,
第二页在20条记录后首先是页计然后是合计。
 
我也想知。
 
例子中没有吗?
 
fastreport2.41c支持打空记录,但还是不能直接解决你(我)的问题。
 
这样做看行不行;
在frReport.onBeforeprint事件中检测dataSet是否到记录末尾,如果是,执行如下程序:
b:tFrBandView;
bandname:string;
p:tfrPage;
begin
bandname:='页脚Band的名称';
p:=frReport1.Pages[0];
b:=p.FindObjectByName(bandname);
b.bandtype := ???? //我记不得了,这样做是修改band的类型,改成其他band类型应该可以成功
end;
 
to ht99
我的意思是
假如 分组1 有20条记录,第一页打印15条后页计,第二页打印完5条记录后紧跟页计,然后合计。
然后 分组2 有27条记录,第一页打印15条后页计,第二页打印完8条记录后紧跟页计,然后合计。
我是不是要求fr太高了,如果fr不能实现,请问大家其他报表如何实现。
 
增加一个分组,条件为1=1,在组注脚Band中显示页合计,
在总结Band中显示另一个合计
 
加分吧,用script + childband:(假设计算字段:工资,打印工资字段:工资MemoView)
在childband中放置页合计,在group footer band中放置组合计
pageheade band的OnBeforePrint:
a1 := 0;
flag := TRUE;
工资MemoView的OnBeforePrint:
a1 := a1 + [Query1."工资"];
group footer band的OnBeforePrint:
flag := FALSE;
ShowBand(child1);
page footer band的OnBeforePrint:
if flag then
ShowBand(child1);
 
直接用分组解决问题,
分组条件: (FreeSpace<=2*26) and (FreeSpace>=26) //26为数据项Band的高度
//即只能放一行数据了
在组脚Band中sum(F1)即可。
To Whf:好象有问题,PageFooter Band中显示子Band?如果本身FreeSpace只有30,Footer
Band高为26,其前再显示子Band高26 ,26+26=52 >30,放不下吧?
 
全部使用Group.
 
前一阵出门有事,未及时看到大家的回答,我先谢谢大家,我今天就试一试。
 
试的结果咋样啊,给句话呀
 
to:Laotian
 能否给一个做好的 *.frf文件。我就是试不出来。
 另外的话如果围线框的话,格子线对齐也太费工夫了。
 可有良策?
MyEmail:oldzhang@163.net
 
说市话,我也没有试验出来,而且最近我的计算机坏了,真实祸不单行,不过我还是给分吧
 

Similar threads

回复
0
查看
1K
不得闲
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
867
DelphiTeacher的专栏
D
后退
顶部