fastreport如何打印空行? ( 积分: 50 )

  • 主题发起人 主题发起人 hhi179
  • 开始时间 开始时间
H

hhi179

Unregistered / Unconfirmed
GUEST, unregistred user!
我用D7+FastReport3.0作送货单报表,现遇到一个问题:我的送货单格式规定为5行,但有是有不等于5行(小于或大于5行的)的数据时如何处理?
即打印空行?
 
我用D7+FastReport3.0作送货单报表,现遇到一个问题:我的送货单格式规定为5行,但有是有不等于5行(小于或大于5行的)的数据时如何处理?
即打印空行?
 
用存储过程整理好再生成报表。
 
里面有个DEMO,专门说了这个定行的例子。
 
在报表里面写脚本,
具体看看使用手册吧:
http://www.zptang.ys168.com
 
为MaterData添加一个Footer,然后再添加一个Child。
如果Footer没用的话可将其Visible := false ,在其OnBeforePrint事件中写脚本
while Engine.FreeSpace > Child1.Heightdo
Engine.ShowBand(Child1) ;
将Child1设置成适当的高度,如果MasterData Band有边框的话,把表格COPY到CHIND1 BAND,清空其内容。那么在运行的时候如果报表内容后有空白则会继续打印空白的Child1。
如果你在MASTERDATA BAND后还有其它BANDS,可作适当调整并将其高度加在child1.height后。
 
我想问那些说看Demo的人,尽在这里乱说,不懂就别说,我每个Demo都看了,垃圾,看Demo也不会要你告诉了。
我做的八行的,没有办法了,在前台把纪录行数读过来(MasterData1.DataSet.RangeEndCount),我是把它放在这个地方,添加一个DetailData1,上面放几个格子和MasterData1上面一样Memo,然后执行这个,我现在好多地方都要这么用。
procedure MasterData1OnAfterPrint(Sender: TfrxComponent);
var i:integer;
begin
if <Line>=MasterData1.DataSet.RangeEndCount then
for I:=1 to 8-(MasterData1.DataSet.RangeEndCount mod 8)do
Engine.showBand(DetailData1);
end;
 
看这个吧,看完应该可以做出来了。
http://www.delphibbs.com/delphibbs/dispq.asp?lid=3221047
 
为MaterData添加一个Footer,然后再添加一个Child。
如果Footer没用的话可将其Visible := false ,在其OnBeforePrint事件中写脚本
for i:=0 to linCountdo
//lincount空行数
begin
showband(child);
end
 
放两个MaterData,第二个为数组数据,然后在Delphi那边用代码控件数组的个数,也就空行的行数了
 
多人接受答案了。
 
后退
顶部