本文接:《直连数据库拉模式的水晶报表编程实现之极简教程 》

编辑上文之模板,增加一个参数myid,两个公式。公式xx1中是对参数myid进行操作。公式xx2内容为空,在程序中编程控制此公式。

全部文件代码段如下:

Imports CrystalDecisions.Shared
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Web

Partial Class _Default
    Inherits System.Web.UI.Page
    Private myReport As ReportDocument

Private Sub ConfigureCrystalReports()
        Dim myConnectionInfo As ConnectionInfo = New ConnectionInfo()
        myConnectionInfo.DatabaseName = "xxx"
        myConnectionInfo.UserID = "xxx"
        myConnectionInfo.Password = "xxx"
        myConnectionInfo.ServerName = "xxx"

myReport = New ReportDocument()
        Dim reportPath As String = Server.MapPath("crystalreport1.rpt")

'加载报表文件
        myReport.Load(reportPath)

'-----------------------------------------------
        '传递公式字段
        '注意:公式字段在将rpt传递给crviewr控件前操作!
        '需要特别注意的是:如果你的公式返回的是一个文本,必须用单引号刮起来
        myReport.DataDefinition.FormulaFields("xx2").Text = "'这是一个公式'"
        '传递参数
        myReport.ParameterFields("myId").CurrentValues.AddValue(1001)
        '-----------------------------------------------

CrystalReportViewer1.ReportSource = myReport

''-----------------------------------------------
        ''传递报表参数的另一种写法,将参数传递给viewer
        'Dim paramFields = New ParameterFields()
        'Dim paramField = New ParameterField()
        'Dim discreteVal = New ParameterDiscreteValue()

''定位参数
        'paramField.ParameterFieldName = "myId"
        ''定义参数值
        'discreteVal.Value = 101
        ''赋值
        'paramField.CurrentValues.Add(discreteVal)
        'paramFields.Add(paramField)
        'CrystalReportViewer1.ParameterFieldInfo = paramFields
        ''-----------------------------------------------

SetDBLogonForReport(myConnectionInfo, myReport)

End Sub

Private Sub SetDBLogonForReport(ByVal myConnectionInfo As ConnectionInfo, ByVal myReportDocument As ReportDocument)
        Dim myTables As Tables = myReportDocument.Database.Tables
        For Each myTable As CrystalDecisions.CrystalReports.Engine.Table In myTables
            Dim myTableLogonInfo As TableLogOnInfo = myTable.LogOnInfo
            myTableLogonInfo.ConnectionInfo = myConnectionInfo
            myTable.ApplyLogOnInfo(myTableLogonInfo)
        Next
    End Sub

Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init
        ConfigureCrystalReports()
    End Sub
End Class

效果如下:

转载于:https://www.cnblogs.com/babyt/archive/2008/10/10/1307892.html

VS.Net中向报表模板中传递参数与公式相关推荐

  1. asp.net 报表页面模板_Stimulsoft ASP.NET MVC报表教程:在设计器中保存报表模板

    Stimulsoft Reports.Net最新版下载:https://www.evget.com/product/1071/download 本示例说明如何加载报表模板并在设计器中对其进行编辑. 首 ...

  2. 将报表模板中数据集的数据源名称与服务器中的数据源名称修改一致.,连接数据库,服务器端的几个常见错误...

    1错误关键字:数据集ds1中未设定数据源名称 现象: 产生数据工厂:com.runqian report4.dataset.SQLDataSetFactory 失败:数据集中,数据集ds1 中未设定数 ...

  3. Goland中在文件模板中为go文件添加个人声明

    Goland中在文件模板中为go文件添加个人声明 打开文件模板菜单 修改内容如下: 效果演示 打开文件模板菜单 从goland左上角依次点击: [File] – [Settings] – [Edito ...

  4. Antd-Design List渲染列中Button 点击事件 传递参数

    背景:使用List 渲染的后台数据列表中,点击删除按钮,可以将该项对应的主键传递给函数 点击删除的时候,将该条商品记录对应的id 传递给函数,通过调用后台接口删除  可以看到的是关键代码: onCli ...

  5. 企业模板html图片不显示不出来,HTML邮件中的嵌入图像显示在模板中而不是模板中...

    我正在用swiftmailer发送HTML邮件.这一切都很有效,我的HTML邮件在所有客户端都很好用.我非常了解构建电子邮件模板.自己发送给他们的不是...... gmail和hotmail中存在问题 ...

  6. vue中嵌入原生iframe并传递参数

    父传子 // 父页面main.html传递参数<template> <div> <iframe :src="frameUrl" ref="i ...

  7. JSF中的h:commandLink如何传递参数 三种取值比较

    声明本人刚学jsf三天 如有不足请指教.... 本人总结了三种取得参数的方法 这是jsf中的代码 <h:commandLink  action="#{}">       ...

  8. delphi读取xml中的内容property name传递参数_Python 进阶知识全篇-XML 解析

    什么是 XML? XML 指可扩展标记语言(eXtensible Markup Language),标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言. 你可以通过本站学习 XML ...

  9. soapUI中多个TestCase之间传递参数

    <p>---恢复内容开始---</p> 在SoapUI中可以定义一个个的测试用例TestCase,但是有些用例是依赖于之前的用例的,如果纯拷贝的话可能会导致用例比较臃肿而且不好 ...

最新文章

  1. OpenCV resize函数源码解析——加速方法
  2. Problem 2238 Daxia Wzc's problem 1627 瞬间移动
  3. 如何解决Http请求参数中加号变空格问题
  4. 调用webservice或wcf时,提示:无法加载协定为的终结点配置部分,因为找到了该协定的多个终结点配置。请按名称指示首选的终结点配置部分。
  5. 51nod 2020 排序相减(暴力解法)
  6. 首届腾讯运维技术开放日!对外报名正式启动!
  7. js数组截取前5个_我不能没有的5个Vue.js库
  8. 实战Spring Boot 2.0系列(一) - 使用Gradle构建Docker镜像
  9. php提前终止,由于最大执行时间致命错误,PHP cron作业提前终止
  10. vscode+sftp 开发模式环境的同步
  11. HDU 6370(并查集)
  12. day14内置函数作业详解
  13. mongodb自定义字段_mongodb为集合新增字段、删除字段、修改字段(转)
  14. 用python实现关机程序_python实现重启关机程序
  15. 2022蓝牙耳机哪款更值得买?最受欢迎的十大蓝牙耳机排行榜
  16. 腾讯笔试题是c语言吗,2019腾讯校园招聘C语言笔试题和面试题答案
  17. OSS定制自定义response header
  18. Apple Watch怎么设置蜂窝网络
  19. HTML5+CSS3之快速入门 day6-day10布局,表单,css精灵,css hack,BFC规范
  20. 蚁群优化(ACO)算法与变种

热门文章

  1. void符合c语言用户标识吗,1以下可用作C语言用户标识符的是()。void,define,.doc...
  2. PartitionStateMachine分析
  3. java 选中指定文件_Java如何打开一个文件夹并选中指定文件
  4. poi doc转docx_编写简历及Python转Word文档为Pdf(续)
  5. Ubuntu环境搭建支持设备树,内核和根文件系统启动
  6. python算法应用(五)——搜索与排名1(连接数据库及简单排名)
  7. 16位和32位微处理器(4)——Pentium的寄存器及相关机制
  8. 大图社区搜索的调查综述(二)——预备知识
  9. 大端机,小端机;截断与提升
  10. 在c语言中定义共用型数据类型的关键字是,C语言的关键字共有32个,根据关键字的作用,可分其为数据类型关键...