Помогите отделить Crystal Report от CrystalReportViewer - PullRequest
1 голос
/ 16 марта 2010

Я использую 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.

Теперь мне нужно объединить несколько этих отчетов в один отчет ( возможно, например, ), но код, который загружает поля в отчете, находится в диалоговом окне.

Как мне отсоединить инициализацию отчета от диалогового окна?

Спасибо!

1 Ответ

1 голос
/ 16 марта 2010

Вы могли бы довольно легко иметь общий диалог просмотра отчетов, в котором для отчетов использовался экземпляр базового класса (т. Е. CrystalReport), и он отображал бы это - вам не нужно для строгого ввода отчет полностью до конца.

...