FastReport很急的报表问题!!!!!!(绝对经典) (200分)

  • 主题发起人 主题发起人 fpsky
  • 开始时间 开始时间
F

fpsky

Unregistered / Unconfirmed
GUEST, unregistred user!
FastReport报表问题如下:
现有一数据表:
------------------------------------------------------------
| 序号 | 工作地点 | 工作单位 |工作类型(部门)|工作类型(局级)|...
--------------------------------------------+--------------+
| 1 | 凤凰变 | 检修公司 | 小型 | 大型 |...
--------------------------------------------+--------------+
| 2 | 凤凰变 | 调度所 | 中型 | 大型 |...
--------------------------------------------+--------------+
| 3 | 凤凰变 | 工程处 | 大型 | 大型 |...
--------------------------------------------+--------------+
| 4 | 半鸡变 | 信通公司 | 小型 | 大型 |...
--------------------------------------------+--------------+
| 5 | 半鸡变 | 建安公司 | 特大型 | 特大型 |...
--------------------------------------------+--------------+
| 6 | 柳林变 | EEEEE | 大型 | 中型 |...
--------------------------------------------+--------------+
现在客户可求将"工作地点"一样的行合并,并实现如下的报表:
+------+----------+----------+--------------+--------------+
| 序号 | 工作地点 | 工作单位 |工作类型(部门)|工作类型(局级)|...
|------|------------------------------------|--------------|
| | | 检修公司 | 小型 | |...
| | |-------------------------| 大型 |
| 1 | 凤凰变 | 调度所 | 中型 | |...
| | |-------------------------| |
| | | 工程处 | 大型 | |...
|------+----------+-------------------------|--------------|
| | | 信通公司 | 小型 | |...
| 2 | 半鸡变 |-------------------------| 特大型 |
| | | 建安公司 | 特大型 | |...
|------+----------+-------------------------|--------------|
| 3 | 柳林变 | EEEEE | 大型 | 中型 |...
+------+------------------------------------+--------------+
我这个工程中全是用的FASTREPORT2.45实现的,请问这样的报表怎样实现,谢谢!
分数不够再加!
 
用FR就能实现吗,表示怀疑,我没用过FR的。//学习中,关注此题。
 
注意,在MASTER DATA 里面的你需要指定只显示一个的MEMO上,点右键,有SUPPRESS REPEATED VALUES属性,选中,就可以了。
但是,这个时候,会出现表格的某些单元格可能没有一部分边框,你需要在设计期间,再单独根据缺失情况,单独画线。
 
你这是一个表。不好办,但要是做成两个表,然后生成一个主从报表,这个问题就很
容易了。
建议加一个表: 序号 | 工作地点
然后以 工作地点 为关连生成主从报表就可以了。
 
fastreport 可以
做2个subreport,1个左边,1个右边的
可以实现
 
估计很难实现
 
to 816:
您所说的我已试过了,就是边框线不好处理。
您是怎样做的,能给我具体讲一下吗?
to :弟子
按您说的做,可是我还是不会。能给我具体讲一下吗?
to:Fred2000
谢谢您的指教,我先试一下
to:whf
我知道您是这方面的高手,麻烦您了!
我想说的是,王寒松大虾在吗?可不可以谈一下您的看法!
 
边框线不好处理,这个是用此方法的缺陷,但不是不可弥补。
这个样子。一般来说,如果你放在DATA BAND里,主要的边框缺失一般是在左边、右边、和下边。
此时,就需要你弥补缺失边框。可以这样解决。
你原来的MEMO,如果设置的是四个框都显示,在报表打印时,就会出现上面的都
带有格线,如果按照你的要求,应该去掉格线。
采用特殊手段,把你要合起来的MEMO,去掉下边框,和左边框。左边,此MEMO左边,单独放个空的MEMO,
设置为右边框显示。来填充刚才的MEMO的左边。下边框用SUMMERY BAND来填充。放置BAND,然后,在刚才
MEMO对应位置,放空MEMO,设置为只显示上边框,这样就可以了。你试下。我就是这么做的。没有问题。
只版面不是特别漂亮罢了。
 
to:816
非常感谢您的回答,能把你的例子发过来吗?谢谢!
fpsky2000@163.net
再次感谢!
 
信给你发走了,我做了2个字段的简单表,你一看就明白了。
 
to 816:
收到信了。
你的答案只能解决“工作地点”相同时合并单元格,
但“序号”一列怎样解决?
不过我还是要谢谢你!
 
不好意思,一直QR,没有用过FastReport
听讲
 
没用过FR,不过你是供电系统的么?好像都是变电站嘛
 
to 少爷的拐杖:
谢谢!我是一直给电力系统做软件
谢谢大家的回答,如果能用QR实现也可以,大家说说思路吧
 
| 序号 | 工作地点 | 工作单位 |工作类型(部门)|工作类型(局级)|...
需要两个查询数据源,
SELECT 工作地点, 工作类型(局级) FROM 表 GROUP BY 工作地点, 工作类型(局级)
SELECT 工作单位, 工作类型(部门) FROM 表
WHERE 工作地点=:工作地点 AND 工作类型(局级)=:工作类型(局级)
FR创建 DetialBand和SubDetialBand,DetialBand的AfterPrint时重新查询二并累加序号
 
我的想法和816及Fred2000差不多
 
可以用临时表实现!
先根据 工作地点 将相同地点的 序号 和 工作类型 改为一致,然后再
分组聚合即可实现。
 
对不起,我不熟悉该报表控件,请原谅!
 
补: 序号可以这样实现,提前聚合相同记录,然后
表.FIRST
WHILE (NOT 表。EOF)do
begin
表.NEXT;
IF (本条记录序号 <> 上条记录序号)AND (本条记录序号 <> 上条记录序号+1) then

本条记录序号 = 上条记录序号+1 ;
END;
 

Similar threads

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