非常简单的fastreport问题 (100分)

  • 主题发起人 主题发起人 delphi_wen
  • 开始时间 开始时间
D

delphi_wen

Unregistered / Unconfirmed
GUEST, unregistred user!
我的报表的底版内容在预览的时候要可以看见,但是不需要打印出来,怎么实现,各位大侠,拜托了!!!搞定马上给分啊。
 
可能是打印机设置的问题
 
把对应frdbdataset设置好对应的窗体的adodataset.open就可以了
frreport.ShowReport;//就是预览,不一定要打印,按打印机按钮才打印
 
看来是我表达的不太清楚啊:
假设情况是这样:报表是:
------------------------------------------
姓名: 文风
性别: 男
-------------------------------------------
其中:“姓名:”和“性别”部分是有打印纸供应商印刷上去,而“文风”和“男”是从数据库中吊出来的,好了,现在在我进行报表预览的时候,我希望看见全部的内容,但是在真正打印的时候,只打印“文风”和“男”,因为“姓名”和“性别”已经印刷好了啊。
 
打印时设置memo不可见
 
怎么设啊,他是外挂的啊
 
提供一个思路,在设计报表时,把打印时不显示的memo的tag设为1
然后在打印前将所有tag为1的memo设为不可见
 
这样会报一个内存地址访问错误的错误
procedure TForm1.frReport1BeforePrint(Memo: TStringList;
View: TfrView);
begin

frReport1.Preview.FindChildControl('Memo1').Visible:=False;
end;
 
是不是套打,你做两套模板,然后自己frpreview自己做预览窗口,打印没有变框的
 
TO jxyghm:
你的想发是很好,但是那样如果要修改的话,岂不是我要修改2份报表啊,我觉得这样不是解决问题的根本办法。
 
算了,给你写一段代码吧
var
AMemoView: TfrMemoView;
begin
if frReport1.Pages[0].FindObject('Memo1') <> nil then
begin
AMemoView := TfrMemoView(frReport1.Pages[0].FindObject('Memo1'));
if (AMemoView <> nil) and (AMemoView.Tag = '1') then
AMemoView.Visible := False;
end;
end;
 
to 碧血剑兄:
非常谢谢,但是你这样好象在预览的时候也看不见了‘MEMO1’啊,如果换在其他的事件中不是预览看不见就是预览和列印出来都看的见。
 
你在onprintreport事件中试试
如果不行,那就要修改一下frreport了,
或者你也可以放两个按钮,一个预览,一个打印
 
唉,看来fastreport不可以实现真正的套印啦,quickreport都可以办到的事情啊。
 
fr不能实现,script只在生成报表的时候执行,在打印的时候不执行script的!
看来只能做两个模板了
 
一定要在fastreport上显示数据???
加一个窗口显示数据。在做一张打印报表,将要打印出的做进去,不就行了??不点打印就行了……
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部