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

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

 

コメント

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