web-dev-qa-db-ja.com

レポートビューアーでパラメーターを追加する方法

HY! Visual Studio 2010にフォームアプリケーションがあり、レポートビューアーを使用してレポートを作成し、いくつかのパラメーターを追加したいと考えています。コードからパラメーターを追加しようとしましたが、機能しませんでした。私はこのエラーがあります:

Tablix ‘Tablix1’のFilterExpression式は、フィールド ‘datastart’を参照します。レポートアイテム式は、現在のデータセットスコープ内のフィールド、または集計内の場合は指定されたデータセットスコープのみを参照できます。 Report2.rdlc:エラーrsParameterReference:Tablix ‘Tablix1’のFilterValue式が、存在しないレポートパラメーター ‘datastart’を参照しています。

私のコードではこれを行います:

 private void SetReportParameters()
    {
        ReportParameter[] parameters = new ReportParameter[2];
        parameters[0] = new ReportParameter("datastart", dateTimePickerStartRaport.Text);
        parameters[1] = new ReportParameter("dataStop", dateTimePickerStopRaport.Text);
        this.reportViewer1.LocalReport.SetParameters(parameters);
    }

このメソッドを呼び出した後、レポートビューアを更新します

 reportViewer1.RefreshReport();           

他のフォーラムも見て、レポートにパラメーターを追加する必要があることがわかりましたが、これをどのように行う必要があるかを管理できませんでした。また、レポートのプロパティウィンドウで、値を含むいくつかのフィルターを追加しようとしました

  =Parameters!datastart.Value     

しかし、これもうまくいきませんでした。

13
user599977

表示されるエラーは、フィールドのようにパラメーターを指定しようとしたためです。式デザイナーには、「パラメーター」という特別なカテゴリーがあります。そこからパラメータにアクセスできます。構文は=Parameters![FieldName].Value。あなたの場合、例えば=Parameters!datastart.Value

さらに、パラメータは[パラメータ]の[レポートデータ]ウィンドウで宣言する必要があることに注意してください。レコードセットの宣言に使用するのと同じウィンドウですが、パラメータ用の特別なカテゴリもあります。データ型にはいくつかのオプションがあり、パラメータの指定が必須かどうかも示されます。

16
HCL

したがって、レポート定義(rdlまたはrdlcファイル)を作成するときは、まったく同じ名前のパラメーターを追加する必要があります。したがって、あなたのケースでは、datastartおよびdataStopパラメータを追加する必要があります。これを行うには、レポートデータウィンドウの[パラメーター]をクリックし、[新規追加]をクリックします。

2
ravenik

これを試して:

ReportParameter PrmInvoiceNo = new ReportParameter("PrmInvoiceNo");
PrmInvoiceNo.Values.Add(this.InvNo.ToString());
this.reportViewer1.LocalReport.SetParameters(PrmInvoiceNo);
0
hakim m