スポンサーリンク
スポンサーリンク

GrapeCity ActiveReports for .NET 16.0J のセクションレポート(SectionReport) 開発手順 v3

.NET Core.NET FrameworkActiveReportsC#GrapeCityVisual Studioデザイン帳票

.Net Core側のWindowsフォーム画面から入力した値を、セクションレポートへ表示するように改良した前回作成したサンプルを、A4用紙へ印刷する一般的な帳票の形式へ変更しました。
ソースコードは GitHub で公開しています。

 

レポートデザイナ編集用 .Net Framework系統のプロジェクト

ソースコードの変更内容を解説

 

/SectionReportApplication1/SectionReportApplication1.csproj

DataModel1データクラスを、ReportDataModelデータクラスへ変更。

 

/SectionReportApplication1/DataModel1.cs /SectionReportApplication1/ReportDataModel.cs

DataModel1データクラスを、ReportDataModelデータクラスへ変更。
セクションレポートに追加した項目に対応するデータ項目を追加しています。

 

/SectionReportApplication1/Form1.cs

DataModel1データクラスを、ReportDataModelデータクラスへ変更。

 

/SectionReportApplication1/SectionReport1.Designer.cs /SectionReportApplication1/SectionReport1.resx

レポートのレイアウトを、ヘッダーと詳細で構成される一般的な帳票の形へ変更しています。

pageHederは、全ページに出力されるエリア。
今回は、「ReportNo」「Date」欄を設けています。

groupHeader1は、プロパティで「RepeatStyle=None」を設定していることで、1ページ目にだけ出力されるエリア。
今回は、「Title」「Description」欄を設けています。

groupHeader2は、プロパティで「RepeatStyle=All」を設定していることで、全ページに出力されるエリア。
今回は、detailエリアに出力する詳細データの列タイトルを、固定文字列で設けています。

detailは、全ページに出力される表エリア。
今回は、詳細データを3列にしています。

detailセクションの線は、groupHeader1セクションの線と同様に ツールボックスの Lineオブジェクトを使って引いています。
detailセクションは1行分の出力を実装していて、1行分の線を実装すれば2行目以降は線を繰り返し表示してくれます。

pageFooterは、全ページに出力されるエリア。
今回は、カレントのページ数と、全ページ数を表示しています。

 

/SectionReportApplication1/SectionReport1.cs

セクションレポートに追加した項目を、ReportDataModelデータクラスと対応付け。

 

リリース用 .Net Core系統のプロジェクト

ソースコード変更内容を解説。

 

/WinFormsApp1/WinFormsApp1.csproj

リンクとして追加している DataModel1データクラスを、ReportDataModelデータクラスへ変更。

 

/WinFormsApp1/Form1.Designer.cs

A4用のレポートが見易くなるよう、レポートビューアー画面のサイズを拡張。

 

/WinFormsApp1/Form1.cs

DataModel1データクラスを、ReportDataModelデータクラスへ変更。

 

/WinFormsApp1/Form2.Designer.cs

レポートに項目が増えたのに伴い、入力画面にも項目を追加しています。
入力画面のどの項目が、セクションレポートのどの項目に対応しているかは、youtube動画を見ると分かり易いです。

 

/WinFormsApp1/Form2.cs

入力画面に追加した項目を、ReportDataModelデータクラスと対応付け。

 

補足

用紙サイズ設定

A4、B5など、レポートが印刷対象とする用紙サイズの設定は、レポートデザイナでレポートの灰色エリアをクリックした際にプロパティに表示される「プロパティ設定ダイアログ」から、「レポートの設定」の「プリンタ設定 > 用紙サイズ」から設定できます。
今回は一般的な「A4」に設定しています。

 

groupHeader追加

groupHeaderは、レポートデザイナで背面を右クリックし「挿入 > グループヘッダ/フッタ」を選択することで追加できます。

 

関連記事

GrapeCity ActiveReports for .NET 16.0J のセクションレポート(SectionReport) 開発手順 v1
GrapeCity ActiveReports for .NET 16.0J のセクションレポート(SectionReport) 開発手順 v2
GrapeCity ActiveReports for .NET 16.0J のセクションレポート(SectionReport) 開発手順 v3
GrapeCity ActiveReport よく使う機能
GrapeCity.ActiveReports.SectionReportの CanGrow/CanShrinkプロパティを使う場合
ActiveReports開発でデザイナが「値を Null にすることはできません。パラメーター名:instance」エラーになる場合

 

コメント

タイトルとURLをコピーしました