在窗体上放如下控件
adoconnectino,adoquery,frdbdataset,frreport
用frreport设计好了一个报表
之后在窗体上加了一个按钮,click事件触发frreport.showreport
但是却没有打开预览窗口,也不知道如何打印
请各位高手给了实例的祥解,谢谢了
1.在form上放数据库感应控件Query或table
2.放入frReport和fastreport控件包中的frDBDataSet连接你放入的数据库感应控件
3.设计好你的报表并和相对应数据字段连接
预览打印时:
frReport1.LoadFromFile('c:\xxx.frf');
frReport1.ShowReport;
直接打印:
frReport1.LoadFromFile('c:\xxx.frf');
frReport1.PrepareReport;
frReport1.PrintPreparedReport('',1,true,frAll);
建议不要把frf寸在form里面!
每次都load比较好,万一要改可以单独动frf文件
将frReport的storeInDFM属性设为True,
注意:TfrReport.StoreInDFM属性缺省为False。意思是你的报表必须存入一个可执行文件或转换到数据库的BLOB或二进制字段中。如果你想保存你的报表到DFM资源(像在其它的报表工具中,例如QuickReport和ReportBuilder),设置这个属性为True。但必需记住——这将要求你在任何一个报表被修改时都必须重新编译你的应用程序。
procedure TForm1.N2Click(Sender: TObject);
begin
frReport1.ShowReport;//显示预览窗口;
frReport1.ModifyPrepared := true; //若添加上这句,预览时可以修改(需要双击报表)
frReport1.PrintPreparedReportDlg; //显示打印窗口;
end;
用loadfromfile调入你保存的报表文件,后才可以showreport
解决方案5: 1、 将frReport1的StorelnDFM属性设置成True;
2、FRREPORT1.loadfromfile('C:\123.FRF')
FRREPORT1.PREPAREREPORT;
FRREPORT1.SHOWPREPAREDREPORT;