您加載父報表後,您需要將報表加載到一個變量,並運行父報表之前,報表控件的對象屬性設置爲該變量。例如:
' 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
現在,如果你不能硬編碼(在我上面的例子MySubreportControl
)的報表文件名(mySubReport.rpx
在我上面的例子)或報表控件的名字,那麼你可以通過所有控件編寫一個程序來循環父報告並查找每個子報告控件。然後,確保將子報表文件的名稱存儲在子報表控件的ReportName或Tag屬性中。然後,您可以在代碼中使用子報表控件動態加載/鏈接子報表文件。如果您需要某些特定的幫助,請回復您的問題作爲評論。
此外,ActiveReports文檔的COM版本可在線獲取here(archive),以防萬一可能有用。
Scott Willeke
GrapeCity
謝謝你的鏈接:) – odiseh
不幸的是,目前的鏈接返回「414請求URI太大」 –
@JamesJensen的音符謝謝!請參閱以下鏈接(也添加到我上面的答案中):https://web.archive.org/web/20131223173955if_/http://www.datadynamics.com:80/Help/AR2Std/AR2Std_start.htm –