有一个Fastreport的巨难问题,等你来解决!(100分)

  • 主题发起人 主题发起人 王维国
  • 开始时间 开始时间

王维国

Unregistered / Unconfirmed
GUEST, unregistred user!
我想在报表中实现如下功能:
比如有一份报表,已打印了
rownum data
1 a
2 b
3 c
4 d
我想在下次打印始从第5行开始,
其他4行能空走纸.
 
帮你up一下[:p]
 
我以为哪个高手能解决呢!所以来看看!
 
举例说,在Band的Script如下表示:
if [LINE#]<=4 then
begin
Memo1.Memo='';
Memo2.Memo='';
...
end else
begin
Memo1.Memo=[ClientDataSet1."f1"];
Memo2.Memo=[ClientDataSet1."f2"];
...
end;
不难,我做了几个报表,都采取这样的方法。
 
我还没用过fastreport,再问下一 "if [LINE#]<=4 then
" 的4我怎样才能传递进去,
通过字典,还是数据库中的字段.
 
在你的报表前加一个对话框(FastReport报表对话框对象),在那里设置一个
Edit,根据这个Edit来设置你要跨过的行数就可以了。
在你预览报表或打印报表前该对话框会先出现,要求你输入相应的信息,这可
是FastReport的一个很好用的功能哟。
 
我要自动的,不要用户干预.
 
当然你也可以通过你的Delphi表单传入该参数,不过你要在frReport1的OnGetValue中
将该值传递过去,如下:
在FastReport报表的Script中:
if [LINE#]<=[YourLineNum] then
...
在你的主程序中的frReport1的OnGetValue事件中:
if ParName='YourLineNum' then
ParValue=4;
当然你可以自已做一个对话框或者根据你需要的条件将值4赋给ParValue。
 
多谢yanghaijun,以后有不懂之处,再向你请教,小小意思,请笑纳.
 
后退
顶部