1

我有一些使用Microsoft Reporting rdlc文件设计的非常定制的报告。在第一份报告中,我使用了43个参数:

R_1_1, R_1_2, R_1_3, R_1_4, R_1_5, R_1_6, R_2_1, R_2_2, ...

在第二份报告中,我有78 个参数,所以:

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

问题是当我创建第一个报告时,我还想创建第二个报告,报告查看器会引发此错误:

{“已尝试设置此报告中未定义的报告参数“R_1_7”。”}

我有两个问题;

  1. 参数计数有什么限制吗?

  2. 我认为当我将 ReportViewer 绑定到第一个报告时,它不包含R_1_7,并且在第二次参数列表不会重置并且它使用第一个参数列表。我该如何解决这个问题?

4

1 回答 1

4

我刚刚发现这篇博客文章似乎正是你的问题。

在你之前添加这个this.ReportViewer.LocalReport.DataSources.Clear();

this.ReportViewer.Reset();
于 2012-12-04T16:25:30.253 回答