2017-04-23 9 views
0

Stimulsoftライブラリを使用してレポートを作成し(StiReportコントロール)、StiViewerコントロール内に表示します。問題は、複数のレポートをビューアに割り当てるときに、リフレッシュまたは内容を表示しないときですが、ビューアに1つのレポートしか設定しないとうまくいきません。Stimulsoft - stiViewer内の複数のレポートを表示

1つのレポート(OK作品)のためのコード:いくつかの報告(doesntの仕事)のための

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() 

は、私はすべてのエラーを取得いけないことに注意してください。 1つのビューア内に複数のレポートを表示するだけではありません。

任意の提案???

答えて

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() 
関連する問題