我正在使用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()
请记住,我没有收到任何错误。它只是不会在一个查看器中显示多个报告。
任何建议???
答案 0 :(得分:0)
这是代码:
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()