博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ASP.NET(VB.NET)网页中输出水晶报表
阅读量:5344 次
发布时间:2019-06-15

本文共 1933 字,大约阅读时间需要 6 分钟。

    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

转载于:https://www.cnblogs.com/xhety/p/3314408.html

你可能感兴趣的文章
阿里巴巴面试之利用两个int值实现读写锁
查看>>
浅谈性能测试
查看>>
Winform 菜单和工具栏控件
查看>>
CDH版本大数据集群下搭建的Hue详细启动步骤(图文详解)
查看>>
巧用Win+R
查看>>
浅析原生js模仿addclass和removeclass
查看>>
Python中的greenlet包实现并发编程的入门教程
查看>>
java中遍历属性字段及值(常见方法)
查看>>
YUI3自动加载树实现
查看>>
kettle导数到user_用于left join_20160928
查看>>
较快的maven的settings.xml文件
查看>>
随手练——HDU 5015 矩阵快速幂
查看>>
malloc() & free()
查看>>
Linux 的 date 日期的使用
查看>>
Java变量类型,实例变量 与局部变量 静态变量
查看>>
mysql操作命令梳理(4)-中文乱码问题
查看>>
Python环境搭建(安装、验证与卸载)
查看>>
一个.NET通用JSON解析/构建类的实现(c#)
查看>>
详谈js面向对象 javascript oop,持续更新
查看>>
关于这次软件以及pda终端的培训
查看>>