如何将参数传递给水晶报表设计器的存储过程 并在代码中?? ??
答案 0 :(得分:0)
如果使用所需的存储过程作为报告源,则在构建报告本身时,您可以从代码中传递存储过程参数,如下所示;
ReportDocument rptDocument = new ReportDocument();
// Load report.
rptDocument.Load(Server.MapPath("rptFileNameOrPath"));
ParameterFields parameterFields = new ParameterFields();
ParameterField parameterField = null;
ParameterDiscreteValue parameterValue = null;
parameterField = new ParameterField();
parameterValue = new ParameterDiscreteValue();
parameterField.Name = "@ContactId";
parameterValue.Value = "1";
parameterField.CurrentValues.Add(parameterValue);
parameterFields.Add(parameterField);
this.rptDocument.SetParameterValue("@ContactId", parameterValue);
@ContactId:
是必需存储过程的参数。
最后,您可以导出报告或根据您的要求进行打印。
// 0, 0: to print all the pages.
this.rptDocument.PrintToPrinter(1, false, 0, 0);
关于Crystal Report Designer,您只需使用查看报告选项,系统会要求您输入所有报告参数的值,只需输入所需的值。