zoukankan      html  css  js  c++  java
  • ASP.NET(VB.NET)网页中输出水晶报表


        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            Try
                '1.创建报表文件
                Dim myReport As ReportDocument = New ReportDocument()
                '2.取到报表文件的物理路径
                Dim reportPath As String = Server.MapPath("~/RES/secCheckReport.rpt")
                '3.加载报表文件
                myReport.Load(reportPath)
                ''准备报表数据源
                Dim dtScdPrint As DataTable = SecCheckDec.dtScd
                '4自定义报表头部所需要的参数
                Dim vOpeAgtName As String = ""
                Dim vAwbAgtName As String = ""
                Dim vAwbNo As String = ""
                Dim vDate As String = ""
                Dim vQualification As String = ""
                If dtScdPrint.Rows.Count > 0 Then ''打印时只能打印指定运单号的安检申报清单,故取第一条记录获取其中的信息
                    Dim rowScd As DataRow = dtScdPrint.Rows(0)
                    vOpeAgtName = SafeString(rowScd.Item("HANDLEAGTNAME"), "")
                    vAwbAgtName = SafeString(rowScd.Item("OWNERAGTNAME"), "")
                    vAwbNo = rowScd.Item("AWBPFX") + "-" + rowScd.Item("AWBNUM")
                    vDate = DateTime.Now.ToString("yyyy-MM-dd")
                    vQualification = ""
                End If
                '5将定义好的报表头参数传入报表
                '5.1定义ParameterFields
                Dim paramfields As ParameterFields = New ParameterFields()

                '5.2设置在报表中,将要接受参数字段的名称
                Dim pfHash As Hashtable = New Hashtable
                pfHash.Add("strOpeAgtName", vOpeAgtName)
                pfHash.Add("strAwbAgtName", vAwbAgtName)
                pfHash.Add("strAwbNo", vAwbNo)
                pfHash.Add("strDate", vDate)
                pfHash.Add("strQualification", vQualification)
                For Each item As System.Collections.DictionaryEntry In pfHash
                    Dim paramfield As ParameterField = New ParameterField()
                    Dim p_arg As ParameterDiscreteValue = New ParameterDiscreteValue()
                    paramfield.ParameterFieldName = item.Key.ToString()
                    p_arg.Value = item.Value.ToString()
                    paramfield.CurrentValues.Add(p_arg)
                    paramfields.Add(paramfield)
                Next

                '6.将参数集合绑定到报表浏览控件
                Me.CrystalReportViewer1.ParameterFieldInfo = paramfields
                '7.为报表设置新的数据源
                myReport.SetDataSource(SecCheckDec.dtScd)
                '8.将创建你的新的报表文档绑定
                Me.CrystalReportViewer1.ReportSource = myReport
                Me.CrystalReportViewer1.DataBind()

            Catch ex As Exception
                Call (New CargoException("", ex)).AppendToLog()
            End Try
        End Sub
    End Class

  • 相关阅读:
    [Android]XML那些事儿-manifest属性2
    [Android]数据存储-SharedPreferences1
    [Android]2013.5.4日志
    [Android]获得Andriod手机屏幕分辨率的两种方法
    [Android]Java-break(label)/return/continue语句详解
    [WordPress]欢迎使用 WordPress for SAE
    [Webkit]最简单易用的webkit学习环境-ISee
    [Webkit]了解WebKit与Qt WebKit对比区别
    [PhoneGap]开发环境搭建与简单应用
    LeetCode-62.Unique Paths
  • 原文地址:https://www.cnblogs.com/xhety/p/3314408.html
Copyright © 2011-2022 走看看