Я использую Visual Studio 2005 с VB.NET.
У меня есть несколько Crystal Reports, каждый из которых имеет свой собственный связанный диалоговый ресурс, содержащий CrystalReportViewer. Определения классов выглядят так:
Imports System.Windows.Forms
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
Public Class dlgForMyReport
Private theReport As New myCrystalReport
Public theItems As New List(Of MyItem)
Private Sub OK_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK_Button.Click
Me.DialogResult = System.Windows.Forms.DialogResult.OK
Me.Close()
End Sub
Private Sub Cancel_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel_Button.Click
Me.DialogResult = System.Windows.Forms.DialogResult.Cancel
Me.Close()
End Sub
Private Sub dlgForMyReport_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
theReport.SetDataSource(theItems)
'Do a bunch of stuff here to set data items in theReport
Me.myCrystalReportViewer.ReportSource = theReport
End Sub
End Class
Я в основном создаю экземпляр диалогового окна, устанавливаю элементы в нужный список и вызываю ShowDialog.
Теперь мне нужно объединить несколько этих отчетов в один отчет ( возможно, например, ), но код, который загружает поля в отчете, находится в диалоговом окне.
Как мне отсоединить инициализацию отчета от диалогового окна?
Спасибо!