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

問題は、最初のレポートを作成してから 2 番目のレポートも作成したい場合、レポート ビューアーで次のエラーが発生することです。

{"このレポートで定義されていないレポート パラメーター 'R_1_7' を設定しようとしました。"}

2 つの質問があります。

  1. パラメータ数に制限はありますか?

  2. ReportViewer を最初のレポートにバインドすると、含まれていないと思いますがR_1_7、2 回目にはパラメーター リストがリセットされず、最初のパラメーター リストが使用されます。どうすればこの問題を解決できますか?

4

1 に答える 1

4

まさにあなたの問題を抱えていると思われるこのブログ投稿を見つけました。

これをあなたの前に追加してくださいthis.ReportViewer.LocalReport.DataSources.Clear();

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