深入QuickReport(三)

本文深入介绍了如何使用QuickReport连接报表并实现报表的保存,包括不同格式的导出。此外,文章还展示了如何自定义报表预览窗口,包括设置预览窗口、动态创建组件和调整报表组件属性。最后,讨论了动态生成报表组件的注意事项和技巧,强调了对VCL组件的深入理解对于掌握QuickReport的重要性。
摘要由CSDN通过智能技术生成

深入QuickReport(三)

作者:董维春

(本文已在《CSDN开发高手》04年第一、二、三期上发表,应广大网友的要求,经编辑同意,发表在CSDN作者本人文档中,略有修改,但仅即于此,未经CSDN或作者本人同意任何个人与网站不得转载、摘抄,否则任何涉及到版权的行为后果自负)

 

第三部分:报表中的其他问题

 

 

通过前两部分的学习,我想你对QuickRep已经有了一定的掌握,在这部分我们对报表设计中的其他一些问题做一下简单介绍,也许这些你并不常用,但同样这些内容对于我们学习QuickRep还是有很大益处的。

此部分内容都以例程的形式讲解,为了保持文章的完整性,例子的编号接上部分。

 

例五、报表的连接及保存

 

通过上面的例子,你也许会动手做了几个报表,有时你一定会想把其中的一些报表连接起来,组成一个综合报表,并作为整体来操作。在BCB中实现这一点并不难,我们这时要用到TQRCompositeReport组件。它提供了一个OnAddReprots事件,在创建报表时将触发这个事件,因此我们只要在这个事件中用Add方法将需要连接在一起的报表添加到该组件的事件中就可以了。下面给出一个示例程序段,这是把两个报表添加到综合报表中的,代码如下:

void __fastcall TForm1::QRCompositeReportAddReports(TObject *Sender)

{

((TQRCompositeReport*)Sender)->Reports->Add(Form2->QuickRep1);//添加第一个报表

((TQRCompositeReport*)Sender)->Reports->Add(Form3->QuickRep1);//添加第二个报表

}

做好的报表我们一定都想保存起来,保存的文件格式有:文本格式文件(TXT),组件TQRTextFilter;超文本格式文件(HTML/HTM),组件TQRHTMLFilder;逗号分隔文件(CSV),组件TQRCSVFilter;以及报表文件。保存前三种格式文件需要调用ExportToFilter方法,而直接保存报表组件,则只需用Save这个例子中我们放了一个TSaveDialog对话框和QuickReport组件页中的TQRTextFilterTQRHTMLFilderTQRCSVFilter三个组件。完整的代码如下:

void __fastcall TForm1:: SaveReportClick(TObject *Sender)

{

        AnsiString FileExt;

        //  打开保存文件对话框获得文件名

        if(SaveDialog1->Execute())

        {

                //  获得文件后缀

                FileExt = AnsiUpperCase(ExtractFileExt(SaveDialog1->FileName));

                //  输出Html超文本文件

                if((FileExt == ".HTML") || (FileExt == ".HTM"))

                        QuickRep1->ExportToFilter(new TQRHTMLDocumentFilter(SaveDialog1->FileName));

                //  输出txt文本文件

                else if(FileExt == ".TXT")

                        QuickRep1->ExportToFilter(new TQRAsciiExportFilter(SaveDialog1->FileName));

                //

评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值