水晶报表传递参数

2476人阅读 评论(2) 收藏 举报

水晶报表传递参数:(不少时候有用)

页面:

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>
<%@ Register TagPrefix="CR" Namespace="CrystalDecisions.Web" Assembly="CrystalDecisions.Web, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    
<title>Untitled Page</title>
    
<link href="/aspnet_client/System_Web/2_0_50727/CrystalReportWebFormViewer3/css/default.css"
        rel
="stylesheet" type="text/css" />
</head>
<body>
    
<form id="form1" runat="server">
    
<div>
        
<CR:CrystalReportViewer ID="CrystalReportViewer1" runat="server" AutoDataBind="True"
            Height
="1039px" ReportSourceID="CrystalReportSource1" Width="901px" />
        
<CR:CrystalReportSource ID="CrystalReportSource1" runat="server">
            
<Report FileName="CrystalReport1.rpt">
            
</Report>
        
</CR:CrystalReportSource>
        
<asp:Button ID="Button1" runat="server" Text="Button" />
    
    
</div>
    
</form>
</body>
</html>

在报表设计中添加2个参数字段,注意名称对应即可。

C#代码如下:

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

using CrystalDecisions.Shared;
using CrystalDecisions.CrystalReports.Engine;

public partial class _Default : System.Web.UI.Page 
{
    
protected void Page_Load(object sender, EventArgs e)
    
{
        
// 查看器控件所需的变量。
        ParameterFields paramFields = new ParameterFields();
       
        
//设置传递第一个参数
        ParameterField paramField = new ParameterField(); 
        ParameterDiscreteValue discreteVal 
= new ParameterDiscreteValue();
        paramField.ParameterFieldName 
= "qymc";
        discreteVal.Value 
= "南方企业名称一";
        paramField.CurrentValues.Add(discreteVal);
        paramFields.Add(paramField);

        
//设置传递第二个参数
        ParameterField paramField1 = new ParameterField();
        ParameterDiscreteValue discreteVal1 
= new ParameterDiscreteValue();
        paramField1.ParameterFieldName 
= "qyjc";
        discreteVal1.Value 
= "南方企业名称二";
        paramField1.CurrentValues.Add(discreteVal1);
        paramFields.Add(paramField1);

        
//绑定 
        CrystalReportViewer1.ParameterFieldInfo = paramFields;

    }


}

 运行结果:

实例图

测试通过!

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1960265次
    • 积分:27766
    • 等级:
    • 排名:第201名
    • 原创:903篇
    • 转载:69篇
    • 译文:0篇
    • 评论:585条
    最新评论