fastreport中 怎样自动用表格填充剩余的空白地方。(100分)

  • 主题发起人 主题发起人 aloelan
  • 开始时间 开始时间
A

aloelan

Unregistered / Unconfirmed
GUEST, unregistred user!
一页报表只打印了两条数据,我想把纸上剩余的空间 都用空数据(就是空白的表格)填充,该怎么做?
 
在报表中写脚本,
 
大哥,详细说说啊!
 
期待有正确的实例!
 
在 onManualBuild 事件 处理
while Engine.FreeSpace > 10do
Engine.ShowBand(MasterData1);
版本比fastreport 3.0 低,需要变化一下!
 
2。51就不行!
3.0和2.5的控件怎么兼容啊?
 
在你Show数据的那个BAND下放一个ChildBand, 在页尾放一PageFooter Band,将ChildBand的高度及表格设为与你SHOW数据那个BAND一样.在Data Dictionary里设一变量PageLine, 假如你每页Show满是25行. 在你Show数据的那一Band的OnBeforePrint里写:
begin

PageLine:=[LINE#] mod 25;
end
在PageFooter Band的OnBeforePrint里写Script:
begin
for i:=1 to (25-PageLine)do
ShowBand(child1);
end
 
這個我已經解決了,正在使用中。
建立臨時表、控件每頁版面、報表裡代碼編寫,要這幾步才能完成。
技術交流QQ:136293586
 
引言:
建立臨時表、控件每頁版面、報表裡代碼編寫,要這幾步才能完成。
------------------------------------------------------------
如果仅仅是把纸上剩余的空间 都用空数据(就是空白的表格)填充而已, 要这么复杂吗?
 
用内置的SCRIPT即可完成!
但是希望FastReport能增加一属性,象RM一样,设置一下即可!
 
fastreport主要适合西方人,在中国用它做报表比较麻烦,而且bug不少,那套fastScript 中看不中用,功能有限,还不能保密. 如果再把小计,合计加进来来,更头疼.用上面的方法问题简单的能搞定,复杂的都搞不定,还是要硬写代码才行吧,
 
demo里有一个,你看看。
 
用脚本搞定,请看我的主页:
http://flylink.kmip.net:8080/article.php?id=63
不过也是参考与DFW们的经验的,呵呵!
 
最新版本好用很多,不知道使用这个是否会带来版权问题?
 
用Grid++Report的追加空白行功能可以, 有专门的例子演示类似问题。主页:http://www.rubylong.cn
 
建立一个ChildBand和Footer, 将ChildBand的高度及表格设为与你SHOW数据那个MasterDataBandBAND一样.
在MasterDataBand里面OnBeforePrint写下面代码
var
PageLine: integer;
PageMaxRow: integer=10;
procedure MasterData1OnBeforePrint(Sender: TfrxComponent);
begin
PageLine := <line> mod PageMaxRow;
if (PageLine = 1) and (<line> > 1) then
begin
Engine.newpage;
Engine.ShowBand(Header1);
end;
end;

在Footer的OnBeforePrint写
procedure Footer1OnBeforePrint(Sender: TfrxComponent);
var
i: integer;
begin
i := iif(PageLine=0, PageMaxRow, PageLine);
while i < PageMaxRowdo
begin
i := i + 1;
Engine.ShowBand(Child1);
end;
end;
 

Similar threads

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