Использование ActiveReports pro 2: Как работать с подотчетом? - PullRequest
2 голосов
/ 04 декабря 2011

У меня есть запаздывающий проект (vb6), в котором есть несколько отчетов (.rpx) рядом с файлом выполнения проекта (.exe).Когда пользователь выполняет файл .exe, он загружает файл .rpx в указанную локальную папку пользовательского компьютера и с помощью инструкции «LoadLayout» получает весь формат файла отчета .rpx в переменную типа: DDActiveReports2.ActiveReport и, наконец, показываетэто.

Теперь мой вопрос: мне нужно вставить подотчет в основной отчет, о котором говорилось выше.Файл подотчета находится в проекте vb NOT рядом с файлом exe.Как установить связь между основным отчетом и вложенным отчетом и заполнить вложенный отчет набором записей, основанным на некоторых данных, которые использует их основной отчет?

Спасибо

1 Ответ

2 голосов
/ 05 декабря 2011

После загрузки родительского отчета вам нужно будет загрузить вложенный отчет в переменную и установить свойство объекта элемента управления подчиненного отчета на эту переменную перед запуском родительского отчета.Например:

' 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 элемента управления вложенного отчета.Затем вы можете динамически загружать / связывать файлы подотчета с помощью элементов управления подотчета в вашем коде.Пожалуйста, ответьте на ваши вопросы в качестве комментария, если вам нужна определенная помощь с этим.

Кроме того, COM-версия документации ActiveReports доступна онлайн здесь ( архив )в случае, если это может быть полезно.

Scott Willeke
GrapeCity
...