FastReport报表系统的使用
1、网上士候眨塄大家都是建议用ocx开发报表控件。界面虽然直观,但是这个方法有局限性,它只支持IE,不支持谷歌,火狐等浏览器,我这就是直接转换打印出来的。首囗寝嗵若先要确保你的电脑上安装了fastreport控件。高版本的delphi xe系列自带了。低版本还是需要自己安装了。下载地址:http://download.csdn.net/detail/bjcee/8873503
2、在界面上添加四个控件frxDBDataset1、frxReport1、frxHTM雉搽妤粲LExport1、ADOQuery1。个控件分别的作用:frxDBDat锾攒揉敫aset1是报表控件和intraweb连接的纽带。frxReport1是报表编辑控件。frxHTMLExport1都出表格成html格式,为什么不用pdf呢?不是所用人的电脑上都装有pdf的。ADOQuery1数据控件。
3、把个控件的关系弄一下。frxReport1.DataSet :=frxDBDataset1。frxDBDataset1.DataSet := ADOQuery1。所以说frxDBDataset1是纽带作用。ADOQuery连接IWUserSession.aConn。
4、为增加程序的可读性,我们再增加几个控件。IWTabControl1Page0(分页使用)、IWLabel1(标签时间)、TIWDateSelector1(时间选择)、btnPreview(预览按钮)、btnPrint(打印按钮)。
5、在程序目录下建两个文件夹,用于存放编辑的报表和缓存文件,我们定义他们的名字分别为reports,files。
6、开始用frxReport1编辑报表。在界面上双击frxReport1。弹出个界面。
7、先帮frxReport1选择数据源。【报表】→【数据】→勾上frxDBDataset1
8、编辑一个报表,保存在安装目录的reports里,命名为Day.fr3。其中每个小单元格里都是这样的:[frxDBDataset1."F_CarNO"]
9、接下来就是在预览的按钮里写代码了。代码如下:procedure TiwfrmReport.btnPreviewClick(Send髫潋啜缅er: TObject);var sSql:String; Lfile,webpath,LWindowName,LOptions ,lurl,surl:string; SelectTime:string; SeYear:string; YMDTime: TDateTime;begin YMDTime := TIWDateSelector1.Date; SelectTime := FormatDateTime('yyyy-mm-dd',YMDTime); sSql:=' select * from T_Standard '; sSql := sSql + ' where F_Iscancel=0 and F_IsFinish=1 and F_EndTime like '''+selecttime+'%'' '; sSql := sSql + ' order by F_EndTime asc '; ADOQuery1.Connection:=dm.aConn; ADOQuery1.Close(); ADOQuery1.SQL.Clear(); ADOQuery1.SQL.Add(sSql); ADOQuery1.Open(); webpath:=ExtractFilePath(Paramstr(0))+'reports\Day.fr3';//报表路径 frxReport1.LoadFromFile(webpath);//加载报表 Lfile:='printat'+FORMATDATETIME('hhmmss',NOW)+'.htm';//报表名 frxhtmlexport1.FileName:=ExtractFilePath(Paramstr(0))+'files\'+webapplication.AppID+'\'+LFILE ;//报表输出路径 ForceDirectories(ExtractFileDir(frxhtmlexport1.FileName));//强制创建文件夹 frxreport1.PrepareReport(); frxreport1.Export(frxHTMLExport1);//报表导出html格式 LWindowName := '日报表';//页面名 LOptions := 'scrollbars=yes,width=900,height=1058';//页面大小 LURL := 'files/'+webapplication.AppID+'/'+LFile;//生产Url AddToInitProc('NewWindow("' + LURL + '", "' + LWindowName + '","' + LOptions + '");');//打开报表end;