有没有人用FastReport做出这样的表格? ( 积分: 100 )

  • 主题发起人 主题发起人 copy8
  • 开始时间 开始时间
C

copy8

Unregistered / Unconfirmed
GUEST, unregistred user!
我用的是 adoquery1.sql.text := 'select 产品,年度,sum(数量),sum(金额),sum(总价) from table group by 产品,年度 order by 产品,年度 ';
表中有很多产品,用FastReprt如何做出这种郊果?
产品 年度 数量 金额 总价
_________________________________________
| | 1992 | | | |
| |__________|______|______|__________|
| 产 | 1993 | | | |
| 品 |__________|______|______|__________|
| 一 | 1994 | | | |
| |__________|______|______|__________|
| | 1995 | | | |
|____|__________|______|______|__________|
| | 1992 | | | |
| |__________|______|______|__________|
| 产 | 1993 | | | |
| 品 |__________|______|______|__________|
| 二 | 1994 | | | |
| |__________|______|______|__________|
| | 1995 | | | |
|____|__________|______|______|__________|
………………………………………………………
……………………………………………………
 
我用的是 adoquery1.sql.text := 'select 产品,年度,sum(数量),sum(金额),sum(总价) from table group by 产品,年度 order by 产品,年度 ';
表中有很多产品,用FastReprt如何做出这种郊果?
产品 年度 数量 金额 总价
_________________________________________
| | 1992 | | | |
| |__________|______|______|__________|
| 产 | 1993 | | | |
| 品 |__________|______|______|__________|
| 一 | 1994 | | | |
| |__________|______|______|__________|
| | 1995 | | | |
|____|__________|______|______|__________|
| | 1992 | | | |
| |__________|______|______|__________|
| 产 | 1993 | | | |
| 品 |__________|______|______|__________|
| 二 | 1994 | | | |
| |__________|______|______|__________|
| | 1995 | | | |
|____|__________|______|______|__________|
………………………………………………………
……………………………………………………
 
fr下不好实现,用ReportMachine的话就简单了,只需设置“合并重复值单元格”选项即可
http://www.reportmachine.net
 
分别拿变量获取数据库中返回的记录,再用frxmemoviews来显示就是了....多个产品这么做的话太笨...但偶能想的就只到这点了,等大虾帮你吧...
 
Fast Report最新版的交叉分析報表功能應可以完成此功能。
 
FastReport2.5也有合并单元格功能,压缩重复值.这个报表还算简单了。自己控制也行。
 
to jxyghm,
压缩重复值是可以做到类值的,但是若 文本很长,哪不是行高也要很高 如 “产品销售列表一”。。。
再如 若要显示楼主所示的格线时,又如何呢??
看来这个做法是行不通的。也非楼主的本意。这是一个合并单元格或竖直band的问题,没哪么简单,偶也困惑很久了。。。。。。。。[:(][:(][:(]
 
ReportMachine 是可以轻松做到。我觉得,RM就在这方面比FR好一点,其它好象不咋的。
 
http://www.zptang.ys168.com
 
建议用RM写
 
这个问题也困惑我很久了,我在以前的大富翁离线资料上查找到如下解释,但是一直研究不出怎么做,各位看看,我会一直关注。1.2.都好实现,关键是后面怎么做的。
1。在band中设置放组号的那个单元格 为“不重复显示”(suppress repeated values);
2。设置报表为“两便报表”(double press)
3。数据集设置为按组号+试验号 索引;
4。在frReport中的band中定义2变量,统计组号相同的band和当前组号
3。在报表的 OnEndBand 事件中,调整单元格位置。
procedure frReportEndBand(Band: TfrBand);
begin

if StrToInt(GroupMemo.Text)<>CurrentGroupNo then

GroupMemo.Top:=GroupMemo.Top +
(Band.Height * NumberOfGroup - GroupMemo.Height) div 2;
end;

也可以设置单元格为“垂直居中”,然后动态调整高度。
 
后退
顶部