0
我開發了一個vb.net應用程序。我的應用程序提供了一些報告功能,如銷售報告等......我通過使用數據集選項生成報告,即將數據集設置爲水晶報告的來源。我只想讓我的應用程序在用戶單擊Windows窗體上的「生成報告」按鈕時打印報告...任何人都可以幫我解決這個問題嗎?如何打印使用水晶報表
我開發了一個vb.net應用程序。我的應用程序提供了一些報告功能,如銷售報告等......我通過使用數據集選項生成報告,即將數據集設置爲水晶報告的來源。我只想讓我的應用程序在用戶單擊Windows窗體上的「生成報告」按鈕時打印報告...任何人都可以幫我解決這個問題嗎?如何打印使用水晶報表
我使用沿着線的東西關:在類
進口:
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.ReportSource
Imports CrystalDecisions.Shared
Imports CrystalDecisions.Windows.Forms
然後:
Private sub print_report()
對於參數等
Dim pFields As New ParameterFields()
Dim pField As New ParameterField()
Dim disVal As New ParameterDiscreteValue()
Try
Cursor.Current = System.Windows.Forms.Cursors.WaitCursor
Dim report_to_print As New report_name
添加參數(如果不是,則忽略neeeded)
report_to_print.SetParameterValue("@parameter", parameter)
您還需要保存的水晶報表查看器控件(這裏frmReportViewer形式)和報表傳遞給它(代碼此之後)
Dim frmReportViewer As New frmReportViewer(report_to_print)
傳遞參數(如果需要)
frmReportViewer.cryrepviewer.ParameterFieldInfo = pFields
顯示報告
frmReportViewer.ShowDialog()
Catch ex As System.Exception
'your own error handling code here
Finally
Cursor.Current = System.Windows.Forms.Cursors.Default
End Try
End Sub
frmReportViewer - 包含顯示,保存,打印控件:
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
Public Class frmReportViewer Inherits System.Windows.Forms.Form
Dim mViewerRep As New ReportDocument
Public Sub New(ByVal pViewerRep As ReportDocument)
MyBase.New()
'This call is required by the Windows Form Designer.
InitializeComponent()
'Add any initialization after the InitializeComponent() call
mViewerRep = pViewerRep
End Sub
Private Sub cryRepViewer_Load() Handles cryrepviewer.Load
cryrepviewer.ReportSource = mViewerRep
cryrepviewer.Refresh()
Me.Text = ""
End Sub
End Class