社区
Delphi
帖子详情
急急急!!!FASTREPORT分组合计问题!
arrqi
2007-05-16 01:27:35
FASTREPORT2.52、
==================
报表标题
主项头1
分组头
主项数据1
分组脚
主项头2
主项数据2
报表合计
===============
这种格式,如果有主项2的话,分组脚的合计数就不正确,而且只有第一组合计不为0其他都为0,去掉主项2分组合计就正确了!!
...全文
421
4
打赏
收藏
急急急!!!FASTREPORT分组合计问题!
FASTREPORT2.52、 ================== 报表标题 主项头1 分组头 主项数据1 分组脚 主项头2 主项数据2 报表合计 =============== 这种格式,如果有主项2的话,分组脚的合计数就不正确,而且只有第一组合计不为0其他都为0,去掉主项2分组合计就正确了!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
arrqi
2007-05-21
打赏
举报
回复
恩,已经用语句分类汇总出合计,看来FASTREPORT还没做到随心所欲
sxtdxvb
2007-05-21
打赏
举报
回复
分页小计是比较麻烦
我曾经用游标直接在储存过程中先分好页,然后显示.
每页合计就是当前页的相关数据的合计,而不是总合计.
hongqi162
2007-05-21
打赏
举报
回复
用存储过程直接返回报表结果,类似
SELECT 编码, 仓库, Sum(数量) as 数量
FROM A
GROUP BY 编码, 仓库 WITH ROLLUP
arrqi
2007-05-21
打赏
举报
回复
.......
Fast
Report
报表
合计
数
Fast
Report
报表
合计
数,通常情况下都是在数据尾显示
合计
数, 但是如果要将
合计
数放在报表头,不能将
合计
字段拖到表头的,否则它会显示为0,因为
Fast
Report
是自从上往下输出数据的,是需要写脚本来实现。 在beforeprint 事件里,循环数据源,将
合计
数输出在报表头上来。
fast
report
3
合计
处理不好修正
经过调试,我发现
fast
report
对中文与英文混合字段不能很好的处理,如下:
合计
:[SUM(<采购合同_细表_1."RMB
合计
">)],不可以;
合计
:[SUM(<采购合同_细表_1."RMB价">)],可以;经过我稍为地改动一下,现在以上
问题
解决了特将修改后的文件复制一份,同大家分享只有三处修改uses 下面加上:StrUtils 一处,全文查找 AnsiReplaceStr便可找到另外两处frxClass.pas版本为kaida 2005-01-23 提供的3.09小夏 2004年1月24 email:xzs_1976#hotmail.com
初级到CS开发高手通用权限管理系统全程实录
本课程主讲项目的功能模块主要有:用户管理、角色管理、菜单管理、权限管理、组织机构管理、特权管理、用户角色管理、角色权限管理、日志管理、报表统计、智能客户端、报表设计器和按纽权限组。另外像ADO.NET、分层、事务、视图、委托、反射、WebService、
Fast
Report
.NET、Dev、RDLC、EpPlus操作EXCEL等知识点全部贯穿在视频中讲解
Fast
Report
合并相应行代码.rar
:首先是要
分组
,因为如果不
分组
,想合并的列与其它列会自动打印。这样,只能使用FR自带的隐藏重复数据的功能,但很多类似报表都是要求合并行居中的,这点FR就不能自动实现了。 2:要全并的列放在
分组
脚中,其它放在
分组
数据BAND中,这样,打印完
分组
数据BAND后,动态改变
分组
脚中要合并列的TOP和HEIGHT就可以了。而且这样打印,因为要合并的行实际上只打印了一遍,因此应该效率更高。所以这就需要在打印
分组
数据BAND后有一个可记录此
分组
已打印高度的功能。 3:代码解释 procedure MCOnAfterData(Sender: TfrxComponent); begin if =1 then MC.Tag:=Int(MC.Height) else MC.Tag:=MC.Tag+Int(MC.Height); end; 因为FR的在每次
分组
后重新计数,使用MC.Tag保存现在数据BAND上的所有不合并行的总高度。当然也可以使用一个变量,但放着这么多TAG不用,多浪费呀。况且使用TAG的语法也比使用变量简单,使用变量使程序看上去很难懂。 if >=1 then 这样的写法看起来多痛苦呀。 procedure MBBOnAfterData(Sender: TfrxComponent); begin MBB.Tag:=GetStandHeight(MBB.CalcHeight); //这一句是为了保持行高的一致性,如果不需要直接 MBB.Tag:=MBB.CalcHeight; //这样可能计算的行高不是标准行高的整数倍。 MBB.Visible:=False; end; procedure MD1OnBeforePrint(Sender: TfrxComponent); begin if =1 then MBB.Visible:=True; end; 上二句只是为了不多次统计CalcHeight,但不能直接设可视性为假,否则不会触发MBBOnAfterData事件。 计算此例中可能会很高的列的计算高度,这是在宽度已经确定的情况下计算的。 因为此例中的第二列单行高度可能大于其它列的总高度。如果没有此例中的特殊情况,可以省略。 4:如果此例中没有第二列单行高度可能大于其它列的总高度的话,MBB是不需要的。 5:如果不是要求空行为多行多列显示的话,GFOnBeforePrint也是不需要的,只需要在GF上放二个MEMOVIEW,宽高和左边距分别与上方的二个相同,调用我例子中注释掉的代码改变它们的TOP和HEIGHT即可。 6:TAG是所有Tcomponent的属性呀,这是我最常使用的一个属性。
Fast
report
常见
问题
汇总与解答
Fast
Report
常见的几个
问题
1.
Fast
Report
中如何共用TFrx
report
及TfrxDBDataSet 2.如何打印空白处? 3.如何打印指定行数后换页? 4.
fast
report
中如何把数据显示为百分比 5.
Fast
Report
如何打印表格式的空行? 6.在首页打印本页小计,最后一页打印本页小计和
合计
(如果只有一页,则打印本页小计和
合计
) 7.加入自定义函数 8.在
Fast
Report
中将两字段连接起来(用脚本实现) 9.数据栏的动态调试设置 10.在Delphi中定义数据字段 11.
分组
时打印页号(组内分页显示页码)
Delphi
5,388
社区成员
262,730
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章