该教程看过多次,但总是实现不了,主要是打印空行部分。http://dev.yesky.com/SoftChannel/72342371928440832/20040425/1791408.shtml请各位高手试试,有没有用根据本教程实现的代码,或者用FastReports3.0以上版本实现的代码?
解决方案 »
- dll动态调用出错了
- 问一个简单的问题,怎样判断网络是否已经断开?
- 求一SQL,可以把一个字段中最大N个值和最小N个值去掉,在线结
- 求《Delphi6开发人员指南》(中文版)
- 发布时数据库别名问题?
- 半夜遇到怪问题,急急,明天早上别人就要来看了!!!
- 在VC++里使用DELPHI写的COM组件时,导入其类型库后,报自己写组件的接口IAppServer未定义,哪位知道它定义在DELPHI的哪个文件里了?
- 怎样对Dbgrid组件中字段按条件进行排序!
- 使用TNMudp控件遇到的一个问题
- Codelphi网站推荐的《Delphi技术手册》怎么样啊有买的人吗,评论一下
- 高分讨论,tForm,tForm1,Form1区别!
- 仅有的100分,全拿出来了,怎么解决在DBGrid中插入数据时出错的处理。
当记录数 MOD 6(最多的行数)不为0时,就往数据表加多不足的空行,
这样基本可以实现,但是这样没有利用到报表设计器,在设计时比较烦麻。
给你说说我的方法吧。
把你要打印空行的Band指向虚拟数据集,RecCount设为6,上面放上一堆空白的Memo,好,空行出来了吧?千万记得把这么Memo设为透明D。
然后,在这个Band上放一个子报表,没错,就是让子报表覆盖这些空白的Memo。
然后在子报表里面放你要显示的数据,OK,数据也出来了。报表生成的时候,会首先就生成6行空白行,然后再根据你的数据库记录总数,生成数据行。嘿嘿,给我分吧,这马甲刚上线,缺钱呢。
band2.visible := RecNO < 3;
..
编号: 2 发送者 lfcq 发送时间 2004-11-24 9:24:04 删除 回复
内容 请问这个是指??
把你要打印空行的Band指向虚拟数据集,RecCount设为6,
怎么找不到reccount?有源码吗?分......一定给
先谢了!
===========================================================
说什么打印空行....我以为你要每行主项数据后面要放空行....-_-# 主啊,原谅我吧。那就用脚本搞定就可以了
(1)在主项数据Band的脚本里面用个临时变量保存你主项数据的LINE#,比如:LineNo := [LINE#];
(2)然后放个子Band在主项数据Band后面,随便给个名称叫Child吧,上面放些空白Memo。
(3)放一个页脚Band,在页脚Band的脚本里面写下面这段脚本:
LineNo := LineNo Mod 6;
if LineNo > 0 then
for I := 0 to (6-LineNo-1) do
ShowBand(child);说D很清楚了吧,嗯,来来来,give me 分,该死的CSDN居然关闭可用分转赠,诚彼娘之非悦。
在主数据项Band的脚本里面写
if [LINE#] > 6 then
newpage;
放一个页脚Band,在页脚Band的脚本里面写下面这段脚本:
ShowBand(child);
一放到页脚,会出现错误!
真是痛苦......
但问题是需要传入数据表记录数总数及第页打印的记录数.我在程序中总无法实现.
yeliming(重返光荣) ,请再帮我相想办法?
procedure MasterData1OnAfterPrint(Sender: TfrxComponent);
var lin,linecount,rcount:integer;
begin
lin:=<line#>;
linecount:=7;
rcount:=30;
if <line#> =rcount then//传入记录数
begin
while lin mod linecount <>0 do
begin
Engine.showband(child1);
lin:=lin+1;
end;
end;
if (<Line#> -1 <>0) and ((<Line#>) mod linecount =0) then
begin
Engine.newpage;
end;
end;