水晶报表参数编程示例代码

原创 2003年11月16日 10:45:00

    Imports CrystalDecisions.Shared
    Imports CrystalDecisions.CrystalReports.Engine

    Private Const RPT_NAME As String = "CustomerOrders.rpt"
    Private Const PARAMETER_FIELD_NAME As String = "CustomerID"

    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        '在此处放置初始化页的用户代码

        ' 设置报表源
        report = New ReportDocument()
        report.Load(GetReportPath(RPT_NAME))

        ' 设置参数
        crvOrders.ParameterFieldInfo = GetParameterInfo(CType(Session("list"), ListItemCollection))

        crvOrders.ReportSource = report

        ' 显示报表
        crvOrders.DataBind()

    End Sub
   
    '----------------------------------------------------------------
    ' Function GetParameterInfo:
    '   从复选框列表获取参数字段信息
    ' Returns:
    '   参数字段
    ' Parameters:
    '   [in]  list: 复选框列表
    ' Throws:
    '  
    ' PreConditions:
    '  
    '----------------------------------------------------------------
    Private Function GetParameterInfo(ByVal list As ListItemCollection) As ParameterFields

        Dim item As ListItem
        Dim isEmpty As Boolean = True
        Dim itemCount As Integer = 0

        ' 声明将参数传递给查看器控件所需的变量。
        Dim paramFields As New ParameterFields()
        Dim paramField As New ParameterField()
        Dim discreteVal As New ParameterDiscreteValue()

        ' 参数是具有多个值的离散参数。

        ' 设置参数字段的名称,它必须和报表中的参数相符。
        paramField.ParameterFieldName = PARAMETER_FIELD_NAME

        For Each item In list
            If item.Selected Then
                isEmpty = False
                itemCount += 1

                ' 设置一个离散值并将其传递给该参数
                discreteVal.Value = item.Value
                paramField.CurrentValues.Add(discreteVal)
                ' 新建一个离散值
                discreteVal = New ParameterDiscreteValue()
            End If
        Next

        If isEmpty Then
            For Each item In list
                ' 设置一个离散值并将其传递给该参数
                discreteVal.Value = item.Value
                paramField.CurrentValues.Add(discreteVal)
                ' 新建一个离散值
                discreteVal = New ParameterDiscreteValue()
            Next
        End If

        ' 将该参数添加到参数字段集合。
        paramFields.Add(paramField)
        GetParameterInfo = paramFields

    End Function

水晶报表参数编程示例代码

Imports CrystalDecisions.Shared    Imports CrystalDecisions.CrystalReports.Engine    Private Const R...
  • BennyMavis
  • BennyMavis
  • 2004年11月08日 15:02
  • 1767

CrystalReport水晶报表传递多个参数方法

ParameterFields paramFields = new ParameterFields();         ParameterField paramField = new Pa...
  • zhaohongx
  • zhaohongx
  • 2014年11月01日 14:24
  • 1314

在水晶报表中使用带参数的命令数据源

在VB2005中添加一Crystal Report取名为CommandSQL.rpt,用SQL命令做为其数据源,命令如下:select pa_no,dp_no,wa_no,pa_id from iep...
  • dengxingjie
  • dengxingjie
  • 2009年05月11日 18:52
  • 2780

水晶报表参数字段在代码中赋值

  //   声明将参数传递给查看器控件所需的变量。  ParameterFields   paramFields   =   new   ParameterFields   ();     Para...
  • sufei1013
  • sufei1013
  • 2009年11月23日 20:12
  • 2986

水晶报表打印知识---编程控制打印

        水晶报表查看器CrystalReportViewer自带打印功能,调用当前系统默认打印机进行打印,但.NET里的水晶版本不支持Web打印,需要水晶报表10以上的版本才支持。另外由于其他...
  • xwdd129
  • xwdd129
  • 2006年06月01日 16:00
  • 8581

C#中水晶报表实现动态传递参数的简单方法

在winform中用到水晶报表时,该水晶报表的数据源是一存储过程的结果集,那么可以动态的实现在程序中动态传递参数到存储过程中,从而可以轻松的产生相应的报表,但是报表的格式必须先设置好,动态传递参数的代...
  • fhb19870610
  • fhb19870610
  • 2009年08月13日 13:38
  • 1341

在crystalReport(水晶报表)动态输入参数

命名空间为:using CrystalDecisions.Shared private void BuildReportViewerParameters(CrystalDecisions.Web.Cr...
  • lovelacy
  • lovelacy
  • 2007年04月25日 07:45
  • 750

水晶报表的“SQL 表达式字段”能否使用“参数字段”?

水晶报表的“SQL  表达式字段”能否使用“参数字段”?我在水晶报表的SQL中写入SQL  表达式字段,希望是这种效果...
  • memory_xj
  • memory_xj
  • 2008年03月27日 10:44
  • 5051

水晶报表登陆错误的困惑

系统中用了很多水晶报表。用Crystal Reports 10 for dot net 打开查看,数据库连接有连到数据库服务器上的,有连到.xsd上的,但程序中使用时都是先将数据fill到datase...
  • eigo
  • eigo
  • 2007年03月01日 15:08
  • 1887

C#给水晶报表模板传递多个自定义参数字段类模块

水晶报表类模块 CrystalRptTools  using System;using System.Collections.Generic;using System.Text;using Syste...
  • leek
  • leek
  • 2010年05月24日 09:29
  • 1192
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:水晶报表参数编程示例代码
举报原因:
原因补充:

(最多只允许输入30个字)