Stimulsoft - 在 stiViewer 中查看多个报告

Stimulsoft - view multiple reports inside stiViewer

我正在使用 Stimulsoft 库创建报告(StiReport 控件),然后在 StiViewer 控件中显示它。问题是当我将多个报告分配给查看器时,它不会刷新或显示内容,但如果我只向查看器设置 1 个报告,它就可以正常工作。

1 份报告的代码(工作正常):

Dim vw As Viewer.StiViewerControl = ReportViewer.StiViewerControl1
rpt.Render(True)

vw.Report = rpt
vw.Refresh()

ReportViewer.ShowDialog()

几个报告的代码(不起作用):

 Dim vw As Viewer.StiViewerControl = ReportViewer.StiViewerControl1

        For Each rpt As StiReport In reps
                rpt.Render(True)
                vw.Reports.Add(rpt)
        Next


        vw.Refresh()
        ReportViewer.ShowDialog()

请记住,我没有收到任何错误。它只是不会在一个查看器中显示多个报告。

有什么建议吗???

找到答案了。我不得不将所有报告合并到一个报告中。

这是代码:

Dim rps As List(Of StiReport)

Dim singleFile As New StiReport
singleFile.NeedsCompiling = False
singleFile.IsRendered = True

Dim newUnit As Units.StiUnit = Units.StiUnit.GetUnitFromReportUnit(singleFile.ReportUnit)
singleFile.RenderedPages.Clear()

For Each rpt As StiReport In rps
    For Each page As StiPage In rpt.CompiledReport.RenderedPages
        page.Report = singleFile
        page.NewGuid()
        Dim oldUnit As Units.StiUnit = Units.StiUnit.GetUnitFromReportUnit(rpt.ReportUnit)
        If (singleFile.ReportUnit <> rpt.ReportUnit) Then
            page.Convert(oldUnit, newUnit)
        End If
        singleFile.RenderedPages.Add(page)
    Next
Next


Dim vw As Viewer.StiViewerControl = ReportViewer.StiViewerControl1
vw.Report = singleFile
vw.Refresh()
ReportViewer.ShowDialog()