2011-01-19 70 views

回答

0

如果問題更詳細,我們可以給出更詳細的答案。

但簡而言之,您可以使用ParameterField對象來包含您的參數,將其添加到ParameterFields對象,並將其傳遞給您的Crystal Report Viewer的ParameterFieldInfo屬性。

1
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); 
} 
1

使用 '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);