我对SSRS相当陌生,并且在传递参数时遇到问题。目前,我正在执行以下操作:
ReportViewer1.ServerReport.ReportPath = ConfigurationManager.AppSettings["serverPath"] + "MyReport";
List<ReportParameter> paralist = new List<ReportParameter>();
ReportParameter reportParam1 = new ReportParameter("LocationId", txtLocationId.Text);
ReportParameter reportParam2 = new ReportParameter("PrdAcctId", txtProductAccountId.Text);
ReportParameter reportParam3 = new ReportParameter("FromDate", frmdt);
ReportParameter reportParam4 = new ReportParameter("ToDate", todt);
ReportParameter reportParam5 = new ReportParameter("IntAmt", todt);
paralist.Add(reportParam1);
paralist.Add(reportParam2);
paralist.Add(reportParam3);
paralist.Add(reportParam4);
paralist.Add(reportParam5);
ReportViewer1.ServerReport.SetParameters(paralist);
否时,此方法工作正常。设置了参数。但是在某些情况下,没有。参数的确定将在运行时根据用户输入的内容确定。
现在我迷茫了如何使否。 .rdl文件中灵活设置的参数。例如,根据用户输入,可以有n个FromDate和ToDate以及相应的IntAmt。
感谢您的帮助,在此先感谢。
最佳答案
您可以调用GetParameters方法来获取所有当前报告参数,并循环遍历它们以查看每个参数以及每个参数的各种属性:
从...开始:ReportParameterInfoCollection param = ReportViewer1.ServerReport.GetParameters();