简体   繁体   English

使用C#.NET在Crystal报表中传递参数

[英]Passing parameter in crystal report using C#.NET

如何在Crystal报表中传递参数?

Use 'ParameterFieldInfo': 使用“ ParameterFieldInfo”:

//Create report document object     
CrystalDecisions.CrystalReports.Engine.ReportDocument report =
new CrystalDecisions.CrystalReports.Engine.ReportDocument();

ParameterField paramField = new ParameterField();
ParameterFields paramFields = new ParameterFields();
ParameterDiscreteValue paramDiscreteValue = new ParameterDiscreteValue();

paramField.Name = "PARAMETER_NAME";
paramDiscreteValue.Value = "PARAMETER_VALUE";
paramField.CurrentValues.Add(paramDiscreteValue);
paramFields.Add(paramField);
//ADD MORE PARAMETERS HERE.....IF REQUIRED.

CRYSTAL_REPORT_VIEWER.ParameterFieldInfo = paramFields;
report.Load(Server.MapPath("~/Reports/CR_XYZ.rpt"));
CRYSTAL_REPORT_VIEWER.ReportSource = report;

report.SetDatabaseLogon(USER_NAME,PASSWORD,SERVER_NAME,DB_NAME);
private readonly CrystalReportViewer reportViewer = new CrystalReportViewer();
...
this.reportViewer.ReportSource = @"C:\PathToReport\Report.rpt";

using (var crystalReport = new ReportDocument())
{
...

    crystalReport.Load(this.reportViewer.ReportSource.ToString());

    crystalReport.SetParameterValue("customerId", customerId);
}

we can give a more detailed answer if the question is more detailed. 如果问题更详细,我们可以给出更详细的答案。

but in a nutshell, you can use ParameterField object to contain your parameter(s), add it to a ParameterFields object, and pass this to the ParameterFieldInfo property of you Crystal Report Viewer. 简而言之,您可以使用ParameterField对象包含您的参数,将其添加到ParameterFields对象,然后将其传递给Crystal Report Viewer的ParameterFieldInfo属性。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM