fastreport怎么在每一页出现合计数!不是在报表的最后出现!而是在pagefooter出现!
我希望得到的报表是这样的,如:我打印的结果是二张页面!
第一页为:
种类 数量
A 12
B 20
C 8
当页小计:40 合计 61 //就是怎么出现合计数!
第二页为:
种类 数量
J 3
L 8
M 10
当页小计:21 合计 61 //合计数
我希望得到的报表是这样的,如:我打印的结果是二张页面!
第一页为:
种类 数量
A 12
B 20
C 8
当页小计:40 合计 61 //就是怎么出现合计数!
第二页为:
种类 数量
J 3
L 8
M 10
当页小计:21 合计 61 //合计数
解决方案 »
- 怎樣處理 datetime 的1899/12/30 的問題
- fastreport中标题的打印问题!
- 如何提高对LISTVIEW的写入速度?
- ClientDataSet:cannot perform this opreation on an open dataset
- 数据库问题!急!
- 如何判断光驱的盘符???
- 怎么样学好delphi 联系一下
- 关于论坛网页保存到本地无法阅读问题、
- 怎样在form中用程序判断表(paradox)是否纯在?
- 有关socketserver的消息来源判断的问题,80分奉上!!80分奉上!!80分奉上!!
- modalresult的返回值是多少????
- 有人写过通用的ado查询语句吗?
然后将这个合计数传给fast report
那是一个办法,我在程序中用select sum语句,得到统计数,在赋值给memo!
然后在showreport!我想请问一下有没有更简单的办法,或者应该说是在onbeforePrint中写代码!因为我的“全部合计数和当前页合计数”是要在页注脚中显示出来的!谢谢!
我觉得应定义一Band为“栏目脚”类型,则每页会显示该Band中的Memo.定义一全局变量,在报表对象的OnGetValue事件中统计。若Mome为“栏目脚”的合计Mome,则赋值后重设全局变量为0再累加,不知可行否?
http://www.delphibbs.com/delphibbs/dispq.asp?lid=812695
我看了这帖子!所以合计的问题解决!
因为你说的那张贴子已经被删除了,能否你再贴一遍,感激万分!
http://www.delphibbs.com/delphibbs/dispq.asp?lid=812695
现在给大家转贴:http://www.delphibbs.com/delphibbs/dispq.asp?lid=812695
***************************************来自:onedot, 时间:2001-12-26 3:25:00, ID:812695 [显示:小字体 | 大字体]
我现在比较FastReport和ReportBuilder
各有千秋,似乎都不错。但似乎都找不到合适的方法快速做本期合计和本页合计
因时间原因,还有其他事情,因此不再自己琢磨,请教各位了!!
不知道哪位作过?
另外200分以后另外开个题目送出//DFW现在居然有分数限制,分特;饿
来自:onedot, 时间:2001-12-26 4:17:00, ID:812698
说明一下:本页合计是针对当前页的合计,本期合计是指这次报表的合计
eg:
Paper1
......
本页合计 10 10 10
本期合计 100 200 200Paper2
......
本页合计 20 40 20
来自:netatom, 时间:2001-12-26 8:00:00, ID:812712
FastReport能满足你的要求,看看DEMO,里面有这样的例子.
来自:bigroom, 时间:2001-12-26 11:43:00, ID:813395
看看
来自:YNTW, 时间:2001-12-26 12:11:00, ID:813494
FR中:一定要把本页合计和本期合计都显示在每一页的话,使用页脚Band
来自:onedot, 时间:2001-12-26 14:39:00, ID:814001
放在页脚我知道,那么本页合计和本期合计又怎么写呢?
实在是没时间钻研了,希望知道的大侠可以说得稍微清楚点,分数一定送上!!
来自:myxy, 时间:2001-12-26 15:28:00, ID:814135
我也遇到类似的问题,可是总是解决不了...
一个表格里面有N行及N列,数据库共有10个左右,需要打印表格中的单元格提取的值是来自这
10个表中,有的是来自10个表中运算才能得到,到底要怎么样才能解决?
来自:OopsWare, 时间:2001-12-26 22:14:00, ID:815062
中国的报表制度太复杂,过于手工化,使用老外的控件总是难以完成复杂的报表。
老外在报表上花的功夫相比要少的多了。我就是一个最讨厌做报表的人。 FastReport在自定义报表方面做的比QuickReport完善些,如果只是对付您上面的表
两者皆可。FastReport有些象PowerBuilder的数据窗口,对熟悉PB的使用起来方便些。
我只用QuickReport,毕竟不用在安装三方控件了,QuickReport的最新版在使用自定义
纸张上有了改进。页合计可以使用变量在打印每个Detail时累加,换页时显示到页脚上
来自:black猫, 时间:2001-12-27 1:14:00, ID:815239
TQRExpr放在groupband不是能分组统计吗?
要是一页一组的话(想一想肯定有办法),设置TQRExpr.ResetAfterprint=true
就可以实现本页合计了
来自:onedot, 时间:2001-12-27 2:58:00, ID:815247
本人讨论的是FASTREPORT,至于QREPORT大家都知道做报表好烦的!
由于没有什么人可以告诉我,我只好自己熬夜钻研了一下。现在我的报表要求基本都做好了
我报表要求每页固定行数,最后一页不足要自动填空白行,每页在数据后就是本页合计和本期合计
其实很多人以前说的方法有弊端或者不全,希望我说的方法可以帮助一些朋友!
在FastReport里定义一个变量i
在ReportBand的(OnBeforePrint)里初始i
在主数据band的(OnBeforePrint)里i:=i+1;
然后添加分组头,分组条件为[INT([[i]/20])] ----不要用[LINETHROUGH#]代替i,也许是bug
然后添加分组尾,里面放本页合计和本期合计的东西
其中本页合计很简单,就是[SUM([ADOQuery1."Quantity"])]
本期合计我也没找到合适快速方法,只好用另外一个数据集做ADOQuery1所有数据的sum---[ADOQuery2."Sumquantity"]
并且在(OnBeforePrint)里
i:=[i MOD 20];
While (i<20) and (i>0) Do
Begin
ShowBand(Child1); ------------Child1是一个子Band,里面放自动填充行或格子
i:=i+1;
End 最后我的结果是
1 10 20 20
.......
20 10 10 10
本页合计 50
本期合计 350
xxxxx xxxxxxxx21 10 20 20
......
38 20 10 0
39
40
本页合计 50
本期合计 350
来自:arnew, 时间:2001-12-27 8:24:00, ID:815289
在页脚中放一个QRExpr3并用它对想求合的字段求合,
Expression:='sum(qty)';
如只这样作得出的结果是前几页的合,不是想要的结果,
只要在QuickRep的EndPage事件中加入QRExpr.Reset;
procedure TForm1.QuickRep1EndPage(Sender: TCustomQuickRep);
begin
QRExpr2.Reset;
end;
或者,
设Resetafterprint 为true
则每一页的合计为本页合计
为false
则每一页的合计为第一页到本页的合计
来自:onedot, 时间:2001-12-27 15:10:00, ID:816616
不要说QREPORT了
来自:阿不, 时间:2001-12-30 13:29:00, ID:823929
為什麼要這麼複雜呢
把本頁合計放在groupfooder中,設ForceNewPage=True
本期合計放在pagefooder中,顯示一個計算值就好了
来自:whf, 时间:2001-12-30 21:20:00, ID:825329
1.页合计,好办,放个栏目脚band,上面放几个memo就可以了
2.本期合计,麻烦点,得用script,放个页脚Band,保镖设置中选“两遍报表”
在page1的OnBeforePrint:
if not FinalPass then
hj1 := 0;
在MasterData1的OnBeforePrint:
if not FinalPass then
hj1 := hj1 + [Table1."Jbgz"];
这样hj1就是本期合计数。