我有一些非常自定义的报告,我使用Microsoft Reporting rdlc
文件设计。在第一份报告中我使用参数,以便:Microsoft报告参数未重置
R_1_1
,R_1_2
,R_1_3
,R_1_4
,R_1_5
,R_1_6
,R_2_1
,R_2_2
...
在第二次报告中,我有参数,以便:
R_1_1
,R_1_2
,R_1_3
,R_1_4
,R_1_5
,R_1_6
,R_1_7
,R_1_8
,R_2_1
,R_2_2
...
,我使用绑定报告验证码:
this.ReportViewer.LocalReport.ReportPath = BaseAddress + drpReportNumber.SelectedValue.Trim() + ".rdlc";
this.ReportViewer.LocalReport.Refresh();
this.ReportViewer.LocalReport.DataSources.Clear();
Microsoft.Reporting.WebForms.ReportDataSource rprtDTSource = new Microsoft.Reporting.WebForms.ReportDataSource("DataSet1", new DataTable("DataSet1"));
this.ReportViewer.LocalReport.DataSources.Add(rprtDTSource);
this.ReportViewer.LocalReport.Refresh();
if (parameters != null && parameters.Count > 0)
{
for (int i = 0; i < parameters.Count; i++)
{
ReportParameter p = new ReportParameter(parameters[i].ParameterName, parameters[i].ParameterValue);
this.ReportViewer.LocalReport.SetParameters(p);
}
}
的问题是,当我创建的第一份报告,然后我还想创建第二个报告,报告查看器引发此错误:
{"An attempt was made to set a report parameter 'R_1_7' that is not defined in this report."}
我有两个问题;
参数计数是否有限制?
我认为当我绑定ReportViewer第一次报告它不包含
R_1_7
,并在第二次参数列表不重置,它使用第一个参数列表。我如何解决这个问题?
看来你没有适当改变'LocalReport'。我向你们说过,ReportParameters是在报告(.rldc文件)中定义的,而不是在'DataSet'中定义的。我可以说你已经截取的代码来自一个你正在增加变量'drpReportNumber'的cicle。使用调试,并检查您是否使用正确的报告 –