印刷を行うのにReportViewerを利用する事は多いと思います。この時、レポートに対して引数(パラメータ)を渡して利用する方法を説明します。
パラメータの渡し方を説明するので、データソースなどは利用しませんので・・・
■レポートの作成
プロジェクト(Windowsアプリケーション)は作成されているものとします。
「プロジェクト」-「新しい項目の追加」で「レポート」を追加します。

■パラメータの追加
レポートデザイン画面にて、「レポート」-「レポート パラメータ」で、レポート パラメータダイアログを表示します。
「追加」ボタンを押下し、適宜パラメータを追加していきます。本説明では、初期値そのままの値をセットしたパラメータを2つ追加しています。

次に、追加したパラメータをレポートに表示するように配置します。
レポートにテキストボックスを配置し、Valueプロパティを設定します。通常ならば、データのフィールドを設定するのですが、パラメータを表示するようにします。
Valueプロパティで、<式>を選択して、式の編集ダイアログを表示します。

左のボックスでパラメータを選択すると、右のボックスに追加したパラメータが表示されるので、ダブルクリックして式を確定します。
同様に、Report_Parameter_1も配置します。
配置したレポートは以下のようになります。

■パラメータ値の設定
フォームにReportViewerを配置し、作成したレポートを選択します。
次にコードを表示し、以下のようにパラメータを設定してから、レポートをリフレッシュするように修正します。
Imports Microsoft.Reporting.WinForms
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
Dim Parameters As New List(Of ReportParameter)
With Parameters
.Add(New ReportParameter("Report_Parameter_0", _
"設定するパラメータの値"))
.Add(New ReportParameter("Report_Parameter_1", _
"ほげほげほげほげほげほげほげほげ"))
End With
With Me.ReportViewer1
.LocalReport.SetParameters(Parameters)
.RefreshReport()
End With
End Sub
End
実行結果は、こんな感じです。

|