レイアウトの作成
次にレイアウトを作成します。まずは、Listコントロール(データ領域)を使用して、データを繰り返し出力する部分を定義します。
ツールボックスからレポートへListコントロールをドラッグして配置します。
次は、そのListコントロールの縦横のサイズ(Sizeプロパティ)を調整します。ここでは横15cm、縦1cmとします。Listコントロールのようなデータ領域コントロールの場合、ここで設定した領域が繰り返し出力される部分になります。
次に、このListコントロール上にデータを表示するためのTextBoxを配置します。レポートエクスプローラのデータセット配下に表示されている”ProductID”などのフィールドをドラッグし、Listコントロール上にドロップします。こうすることで、ドラッグしたフィールドの値が、配置したTextBoxに表示されます。
最後に、TextBoxを配置した部分(Sizeプロパティで設定した領域)が繰り返し出力される範囲を設定します。
Listコントロールなどのデータ領域コントロールにおいて、データを繰り返し出力する範囲を決定するのは「FixedSizeプロパティ」です。プロパティウィンドウからFixedSizeプロパティを展開し、データ領域が繰り返し表示される範囲を設定します。ここでは横15cm、縦22cmとします(縦方向だけ設定すれば、横方向はコントロールの幅にあわせて自動的に設定されます)。
FixedSizeプロパティで設定した範囲は、デザイナ上では斜線がけ状に表示され、レポートの実行時には、この領域一杯にListコントロールのレイアウト部分(背景が白い部分)が繰り返し出力されます。
以上で、データが繰り返し出力される部分の設定は完了です。
次は、「商品一覧」「商品コード」「商品名称」「仕入先」「在庫数量」など項目タイトルを表示するためのTextBoxをツールボックスからドラッグして配置します。配置したそれぞれのTextBoxのValueプロパティに、「商品一覧」などの表示したい文字列を設定します。
なお、必要に応じてフォントや文字の位置(TextAlignプロパティ)を設定したり、Lineコントロールを配置します。
「商品一覧」「商品コード」「商品名称」「仕入先」「在庫数量」と表示されているTextBoxは、ツールボックスからドラッグ&ドロップしてValueプロパティに文字列を設定したもの。Listコントロール上に配置されている4つのTextBoxは、レポートエクスプローラのデータセットからドラッグ&ドロップしたもの。
この段階でレポートデザイナの「プレビュー」タブを開くと、レポートが表示されます。
呼び出し元アプリケーションの作成
帳票を呼び出すアプリケーションを作成します。フォームに[帳票生成]ボタン(button1)と、生成された帳票の内容を確認するためのViewerコントロール(viewer1)を配置します。これは前回のセクションレポートを呼び出すフォームと同様です。
帳票の生成処理
コントロールの配置が終わったら[帳票生成]ボタンをダブルクリックし、実際に帳票を生成してビューアに表示するためのコードを実装します。
ページレポートの場合はセクションレポートと若干処理が異なり、.rdlxファイルをViewerのLoadDocumentメソッドで読み込むという処理になります。
private void button1_Click(object sender, EventArgs e) { // .rdlxファイルを読み込む viewer1.LoadDocument("ProductList.rdlx"); }
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click ' .rdlxファイルを読み込む Viewer1.LoadDocument("ProductList.rdlx") End Sub
上記のコードでは、読み込む.rdlxファイルを相対パスで指定しております。ソリューションエクスプローラ上で.rdlxファイルを選択し、プロパティウィンドウから[出力ディレクトリにコピー]を「常にコピーする」に設定してください。こうすることでビルド時に実行ファイルと同じ場所に.rdlxファイルがコピーされ、相対パスで指定することが可能になります。
実行すると、ページレポートを表示するアプリケーションが表示されます。