セクションを連続して、途切れることなく線を引く方法は?
対象製品
ActiveReports for .NET 9.0J
詳細
セクションレポートにおいて、セクションを連続して途切れることがない線を引く方法としては、以下のような方法があります。
- CrossSectionLine/CrossSectionBoxコントロールを使用する方法
ヘッダセクション(ページヘッダ/グループヘッダ/レポートヘッダ)に、CrossSectionLine/CrossSectionBoxコントロールを配置することで、対応するフッタセクションまで跨る直線/四角形が描画されます。
※ただし、グループセクションを使用したマルチカラム形式のレポート(ColumnLayoutプロパティをTrueに設定)では、CrossSection系コントロールは正しく描画されません。(製品の制限事項となります。)別の方法をご検討ください。 - LineコントロールのAnchorBottomプロパティを使用する方法
AnchorBottomプロパティをTrueに設定すると、Lineの端(Y2プロパティ)を、自動的にセクションの下端まで描画します。Y1の値を 0 に、X1とX2を同じ値に設定すれば、結果的にLineがセクションを繋ぐ形でまっすぐに描画されます。 - SubreportコントロールのCloseBorderプロパティを使用する方法
CloseBorderプロパティをTrueに設定すると、コントロール罫線を設定したサブレポートが、複数ページに跨って出力されたときに、各ページの上下をラインで閉じます。
ただし、SubReportコントロールのCloseBorderプロパティは、デザイナのプロパティウィンドウからは設定できません。CloseBorderプロパティをTrueに設定する場合には、ReportStartイベント内に、CloseBorderの設定処理を実装してください。
◆サンプルコード(VB.NET)
Private Sub SectionReport1_ReportStart(...) Handles MyBase.ReportStart
Me.SubReport1.CloseBorder = True
End Sub
◆サンプルコード(C#)
private void SectionReport1_ReportStart(object sender, EventArgs e)
{
this.subReport1.CloseBorder = true;
} - Overlayメソッドで別のレポートを重ね合わせる方法
Pagesコレクションの Overlayメソッドを使用することで、レポート上の任意のページに、別のレポートのページを重ね合わせて合成することが可能です。
たとえば、1ページ分の枠線のみを設定したレポートを別途用意し、本体のレポート(データを出力したレポート)と同数のページだけ作成して、その上に Overlayメソッドで重ね合わせれば、常に同じレイアウトのレポートを生成できます。
この方法は、全てのページの同じ場所に同じ線を描画したい(全てのページに同じレイアウトの枠線を描画したい)場合に有効な方法です。
Overlayメソッドの使用方法については、製品ヘルプの以下の内容をご参照ください。
ActiveReportsユーザーガイド
- サンプルとチュートリアル
- チュートリアル
- セクションレポートのチュートリアル
- レイアウト
- ページテンプレートの適用(Letterhead)
関連情報
キーワード
HowTo デザイン・レイアウト