报表(200分)

  • 主题发起人 主题发起人 小雨天
  • 开始时间 开始时间

小雨天

Unregistered / Unconfirmed
GUEST, unregistred user!
表TA.dbf中有若干记录(记录>200),现要打印所
有的记录,要求每一行打印两条记录,即:
第一行打印表中1,2条记录
第二行打印表中3,4条记录
以此类推.......式样如下:
__________________________________________
| 姓名 | 性别 |年龄| | 姓名| 性别 | 年龄 |
|______|______|____| |_____|______|______|
|张三 | 男 | 25 | | 李四| 男 | 30 |
|————————————————————-
|张请 | 男 | 20 | | 刘柳| 男 | 25 |
|————————————————————-
|王无 | 男 | 24 | | 刘力| 男 | 31 |
|————————————————————-
|郭亮 | 男 | 26 | | 勃勃| 男 | 56 |
|————————————————————-
|张伟 | 男 | 25 | | 图图| 男 | 24 |
|————————————————————-
|李卅 | 女 | 23 | | 袁波| 男 | 21 |
|————————————————————-
|以下略......... |
__________________________________________
出血200升!!!!!!!!
敬请各位大虾指点!!!!!!!!
 
你用QREPORT上的报表控件做吧,实在是很容易的,找一本简单的入门级的DELPHI
就可以看到怎么做的。
 
ReportBuild也很容易实现
 
1.
我一直用F1Book做报表工具,因为他可以精确控制每一个单元格的内容,
你上面题目可以遍历数据库,在相应的位置填写即可。
2.
QReport我不熟悉,不过给你出个笨办法。
建立一个临时数据库,结构如下:
姓名 | 性别 |年龄| | 姓名| 性别 | 年龄 ,这样一条里面可以有两条数据。
 
用FastReport来作也很简单啊!将报表的列属性设为2即可。
 
将列属性设为2
 
我使用了QickRep的DetailBand,字段控件就放在DetailBand中,报表能自动换行、换页。
因为表中的记录是不确定,可能100个也可能1000个。关键是
第一行打印表中1,2条记录
第二行打印表中3,4条记录。。。
第二行是由程序实现,并不是在写程序时就控制的。
 
TQuickRep.Pages.Columns 可以实现类似效果,但是是首先第一列显示完,再把剩下的显示
到第二列。
如果一定要上面的效果,只好自己提供数据了,OnNeedData 可以完全实现你的要求,类似
的贴子已经很多了。
 
我也想知道,不建临时表能否实现?
 
参见:
http://www.gislab.ecnu.edu.cn/delphibbs/DispQ.asp?LID=486380
 
基本原理如BaKu所言,具体实现参见LID=486380的帖子
临时表也可实现这一要求,但本人认为不是最佳方案,只能给50分了,呵呵
 
后退
顶部