2
try
{
   this.reportViewer1.ProcessingMode= ProcessingMode.Local;
   LocalReport rep = reportViewer1.LocalReport;
   rep.ReportPath = "PopularHealthClub\\HistoryReport.rdlc";
   string a = "Hello";
   ReportParameter p1 = new ReportParameter("Textbox3", a);
   this.reportViewer1.LocalReport.SetParameters(new ReportParameter[] { p1});
}
catch (Exception exc)
{
  MessageBox.Show(""+exc);
}
4

1 に答える 1

2

の配列を作成する必要はありませんReportParameters。作成したものを渡すだけです。

これを変える:

this.reportViewer1.LocalReport.SetParameters(new ReportParameter[] { p1});

これに:

this.reportViewer1.LocalReport.SetParameters(p1);

ところで、あなたのコードから、「Textbox3」という名前のパラメーターを作成したことは確かですか? テキストボックスに値を割り当てようとしているだけだと思いますが、これは完全に間違っています。

RDLC ファイルを開き、[表示] -> [レポート データ] に移動します。ここで、[パラメーター] セクションを右クリックし、[新しいパラメーターの追加] を選択します。「parameter1」のような一意の名前を使用します。このパラメータを設計レポートにドラッグします。

パラメータを作成したので、コードは次のようになります。

try
{
   this.reportViewer1.ProcessingMode= ProcessingMode.Local;
   LocalReport rep = reportViewer1.LocalReport;
   rep.ReportPath = "PopularHealthClub\\HistoryReport.rdlc";
   string a = "Hello";
   ReportParameter p1 = new ReportParameter("parameter1", a);
   this.reportViewer1.LocalReport.SetParameters(p1);
}
catch (Exception exc)
{
  MessageBox.Show(""+exc);
}
于 2013-01-30T08:01:41.640 に答える