***关于QuickReport的一个问题***

smiler007 2005-02-14 10:43:38
要求,一行打印表中的两条记录
如:

姓名 编号 姓名 编号
张三 001 李四 002
.... ... .... ...

请教如何实现?
...全文
193 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
helloboyxb 2005-02-20
  • 打赏
  • 举报
回复
在AfterBand后或BeforeBand事件中进行数据的合计。也就是对数据累计。

其实也就是一行,二行的代码。
kuki84 2005-02-19
  • 打赏
  • 举报
回复
在程序里建立个临时表,字段分别是 姓名1 编号1 姓名2 编号2
用代码把一个两列的表改为你要求的那样四列你总该会吧。
然后qreport显示那个临时表
herman~~ 2005-02-19
  • 打赏
  • 举报
回复
帮顶..
smiler007 2005-02-19
  • 打赏
  • 举报
回复
那么,分列后的合计怎么做呢?难道也先计算出来后再去填充吗?
luhualing 2005-02-18
  • 打赏
  • 举报
回复
最简单的方法就是对数据源进行加工,将旧数据源上的每两条记录做为新数据源的一条记录,这样不就解决了.当然你必须会用TClientDataSet.
smiler007 2005-02-18
  • 打赏
  • 举报
回复
嗯........我先试试.......

不知道是否还有别的方法??
merkey2002 2005-02-17
  • 打赏
  • 举报
回复
用quickreport做麻煩了點
78hgdong 2005-02-17
  • 打赏
  • 举报
回复
楼上说的方法是了.
helloboyxb 2005-02-17
  • 打赏
  • 举报
回复
这个不能直接用报表中的字段控件,而是要使用报表中的Label控件。即每个你要打印的字段,你都用一个Label放在报表的BAND中。

然后你在BeforePrint(Band)事件中,读出数据库的记录,将内容送到相应的Label。这样子,你就可以实现一行中打印N个记录了。
(当然,在读第二个记录前,你要判断,是不是已到文件末尾或查询结果的末尾)


注意,在BeforePrint事件中,你要先设置每个Label为空,这样即使最后一行,或已到数据库末,也能正确打印。

这是一个很好利用BeforePrint的很好例子,通过这次练习,你会发现,你其实可以对打印作许多控制。
smiler007 2005-02-16
  • 打赏
  • 举报
回复
怎么没人理啊???我倒!
smiler007 2005-02-16
  • 打赏
  • 举报
回复
我这设了以后,仍是每行只打印一条记录啊。
quicksand201 2005-02-14
  • 打赏
  • 举报
回复
将QuickRep1->Page->Column设为2
smiler007 2005-02-14
  • 打赏
  • 举报
回复
如果打印到最后一行时,表中只有一条记录了,则只打印一条
smiler007 2005-02-14
  • 打赏
  • 举报
回复
解决后立即给分!

16,747

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧