【问题标题】:How to print Using Crystal Reports如何使用 Crystal Reports 进行打印
【发布时间】:2022-01-29 18:00:30
【问题描述】:

我开发了一个 vb.net 应用程序。我的应用程序提供了一些报告工具,例如销售报告等...我使用数据集选项生成了报告,即将数据集设置为水晶报告的来源。我只希望我的应用程序在用户单击 Windows 窗体上的“生成报告”按钮时打印报告...谁能帮我解决这个问题??

【问题讨论】:

    标签: vb.net crystal-reports


    【解决方案1】:

    我使用了一些类似的东西:

    类中的导入:

    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
    

    添加参数(如果不需要则忽略)

           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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-20
      相关资源
      最近更新 更多