• vb 水晶报表打印


    vb里面的水晶报表打印控件:CrystalReportViewer

    用到的dll文件:

    水晶报表打印其实很简单,只要创建报表对象,再对其传递数据就可以打印出来。当然所传递的数据要与水晶报表设计里面的数据一致:

    Public Overloads Sub ShowDialog(ByVal netDs As DataSet, ByVal strPath As String, Optional ByVal showPrint As Boolean = True, Optional ByVal showExport As Boolean = True)
            Try
                If netDs.Tables(0).Rows.Count > 0 Then
                    Dim rpt As New ReportDocument
                    rpt.Load(strPath)
                    rpt.SetDataSource(netDs)
    
                    CRV.ReportSource = rpt
                    CRV.ShowPrintButton = showPrint
                    CRV.ShowExportButton = showExport
                    Dim t As New ComboBox
                    t.Visible = True
                    ShowDialog()
                Else
                    MsgBox("Not print Data!", MsgBoxStyle.Critical)
                End If
            Catch ex As Exception
                MsgBox(ex.ToString)
            End Try
        End Sub

    调用例子:在其他设计界面,当要打印之时,直接传递参数到打印界面即可。

    Dim daOM As SqlDataAdapter
        Dim cmbOM As SqlCommandBuilder
        Dim dsOM As New DataSet
    
        Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Try
                daOM = New SqlDataAdapter("select top 5 * from facd321 ", GetConn)
                cmbOM = New SqlCommandBuilder(daOM)
    
                daOM.Fill(dsOM, "OM")
    
                With dg
                    .DataSource = dsOM.Tables("OM")
                    .WindowLaguage = myDataGrid.myDatagrid.LanguageType.English
                    .FilterBar = True
                    Dim ii As Int16
                    For ii = 0 To .Splits(0).DisplayColumns.Count - 1
                        .Splits(0).DisplayColumns(ii).Locked = True
                    Next
                End With
            Catch ex As Exception
                MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Error")
            End Try
        End Sub
    
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Try
                Me.Cursor = Cursors.WaitCursor
    
                Dim f As New Form1
                AddBarcodeImages(dsOM.Tables(0))
                f.ShowDialog(dsOM, Application.StartupPath & "Reportsundle.rpt")
            Catch ex As Exception
                MsgBox(ex.ToString)
            Finally
                Me.Cursor = Cursors.Default
            End Try
        End Sub

    报表设计:

    运行效果:

  • 相关阅读:
    elasticsearch数据迁移
    Leetcode <剑指 Offer 64. 求1+2+…+n>
    Leetcode <27.移除元素>
    Leetcode <7.整数反转>
    Leetcode <1. 两数之和>
    python实现对于告警规则的判断思路
    Python实现密码生成器
    Autojs 打包APP+签名
    Docker 文档整理
    Pycharm 连接Linux远程开发
  • 原文地址:https://www.cnblogs.com/vinsonLu/p/3316656.html
Copyright © 2020-2023  润新知