使用ActiveReports pro 2:如何使用子报表?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用ActiveReports pro 2:如何使用子报表?相关的知识,希望对你有一定的参考价值。

我有一个lagacy项目(vb6),它在项目执行文件(.exe)旁边有几个报告(.rpx)。当用户执行.exe文件时,它将.rpx文件下载到用户机器的指定本地文件夹,并使用“LoadLayout”语句,它将所有.rpx报告文件格式转换为类型的变量:DDActiveReports2.ActiveReport,最后显示它。

现在,我的问题是:我需要在主报告中嵌入一个子报告,并在上面说明。子报表文件位于vb项目中,不在exe文件旁边。如何在主报表和子报表之间建立关系,并根据主报表使用的某些数据为子报表提供记录集?

谢谢

答案

加载父报表后,您需要将子报表加载到变量中,并在运行父报表之前将子报表控件的对象属性设置为该变量。例如:

' Load parent report:
Dim rptParent As New ActiveReport
rptParent.LoadLayout App.Path & "myParentReport.rpx"

' Load the subreport:
Dim rptSubreport As New ActiveReport
rptSubreport.LoadLayout App.Path & "mySubReport.rpx"

' * Initialize the subreport control by passing the actual report to run as a subreport:
Set rptParentReport.Sections("Detail").Controls("MySubreportControl").Object = rptSubreport

' Preview the parent report in the viewer:
ARViewer21.ReportSource = rptParent

现在,如果你不能硬编码子报告文件名(在我上面的例子中为mySubReport.rpx)或子报告控件名称(在我上面的例子中为MySubreportControl),那么你可以编写一个例程来遍历父报告中的所有控件并找到每个子报告控件。然后,确保将子报表文件的名称存储在子报表控件的ReportName或Tag属性中。然后,您可以在代码中使用子报表控件动态加载/链接子报表文件。如果您需要一些特定的帮助,请回复您的问题作为评论。

此外,ActiveReports文档的COM版本可在线获取herearchive),以防可能有用。

Scott Willeke
GrapeCity

以上是关于使用ActiveReports pro 2:如何使用子报表?的主要内容,如果未能解决你的问题,请参考以下文章

ActiveReports中如何使用Excel数据源

如何在CRM系统中集成ActiveReports最终报表设计器

ActiveReports公开课开启报名,学习如何解决中国式复杂报表难题

ActiveReports 报表控件官方中文新手教程 -安装激活以及产品资源

ActiveReports最终报表设计器本地化方法介绍

Adobe Acrobat Pro 使所有页面的尺寸相同[关闭]