加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

通过asp.net中的C#将参数传递给CRYSTAL REPORT

发布时间:2020-12-16 04:10:14 所属栏目:asp.Net 来源:网络整理
导读:我是水晶报告的新手.我按照这个链接 Crystal Report with SQL Stored Procedure Parameter and Visual Studio设计了水晶报告 实际上我需要将不同的ID(SP的输入值)传递给我与Crystal报表连接的SP. 这是我将ID传递给水晶报告的代码: protected void Button1_C
我是水晶报告的新手.我按照这个链接 Crystal Report with SQL Stored Procedure Parameter and Visual Studio设计了水晶报告
实际上我需要将不同的ID(SP的输入值)传递给我与Crystal报表连接的SP.

这是我将ID传递给水晶报告的代码:

protected void Button1_Click(object sender,EventArgs e)
        {
        string QuotationID = ViewState["QUOTATION_ID"].ToString();
        ReportDocument reportDocument = new ReportDocument();
        ParameterField paramField = new ParameterField();
        ParameterFields paramFields = new ParameterFields();
        ParameterDiscreteValue paramDiscreteValue = new ParameterDiscreteValue();



        paramField.Name = "@id";


        paramDiscreteValue.Value = QuotationID;

        paramField.CurrentValues.Add(paramDiscreteValue);
        paramFields.Add(paramField);


        paramFields.Add(paramField);

        CrystalReportViewer1.ParameterFieldInfo = paramFields;

        string reportPath = Server.MapPath("~/CrystalReport.rpt");

        reportDocument.Load(reportPath);


        CrystalReportViewer1.ReportSource = reportDocument;
        }

但是当我点击按钮时它会询问ID …

解决方法

要在水晶上设置参数,我总是这样做:
ReportDocument reportDocument = new ReportDocument();
reportDocument.Load(reportPath);
reportDocument.SetParameterValue("@id",QuotationID);

如果您想将报告转换为pdf:

var exportOptions = reportDocument.ExportOptions;
exportOptions.ExportDestinationType = ExportDestinationType.NoDestination;
exportOptions.ExportFormatType = ExportFormatType.PortableDocFormat;
var req = new ExportRequestContext {ExportInfo = exportOptions};
var stream = reportDocument.FormatEngine.ExportToStream(req);

这将返回一个可以从aspx页面打开的文件流.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读