CodeZine(コードジン)

特集ページ一覧

5分でわかるActiveReports帳票-レイヤー

ActiveReports for .NET 9.0Jで作るサンプル帳票(3)

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加
目次

セクションレポートでデータのみ印刷

 ここでは、セクションレポートで「プレ印字の用紙にデータのみ印刷する」方法を紹介します。セクションレポートではレイヤー機能は使用できませんが、実行時にコードでプレビュー用、および印刷用にレポートを生成することで対応できます。

 ただし、この方法の場合は、プレビュー用と印刷用にそれぞれレポートを生成することになります。通常はプレビュー用に作成したレポートをそのまま印刷しますが、この方法では印刷用に再度レポートを生成することになるため、通常のビューワからの印刷に対してパフォーマンス的に不利になります。

 付属のサンプルは、「03_セクションレポートでデータのみ印刷.vb/.cs」をご参照ください。

レポートデザインの作成

 はじめに、セクションレポートでレポートを作成します。ページレポートの場合と同様、ハガキのレイアウトおよびデータ部分を作成します。

レポートデザインの作成
レポートデザインの作成

コントロールの非表示

 印刷時にプレ印字用紙のレイアウト(郵便番号の枠線や会社ロゴ)を非表示に設定するためのPublicなプロパティを追加します。

プレ印字用紙のレイアウトを非表示にする(VB.NET)
Private _ForPrint As Boolean = False

Public Property ForPrint As Boolean
    Get
        Return Me._ForPrint
    End Get
    Set(value As Boolean)
        Me._ForPrint = value
    End Set
End Property

Private Sub Section_DataOnly_ReportStart(sender As Object, e As EventArgs) Handles MyBase.ReportStart
    ' 非表示にするコントロールの配列
    Dim hideControls() As GrapeCity.ActiveReports.SectionReportModel.ARControl = {Me.Shape1, Me.Shape2, Me.Shape3, Me.Shape4, Me.Shape5, Me.Shape6, Me.Shape7, Me.Label1, Me.Picture1}

    ' コントロールを非表示にする
    If Me.ForPrint Then
        For Each c As SectionReportModel.ARControl In hideControls
            c.Visible = False
        Next
    End If
End Sub
プレ印字用紙のレイアウトを非表示にする(C#)
private Boolean _ForPrint = false;

public Boolean ForPrint
{
    get
    {
        return this._ForPrint;
    }
    set
    {
        this._ForPrint = value;
    }
}

private void Section_DataOnly_ReportStart(object sender, EventArgs e)
{
    // 非表示にするコントロールの配列
    GrapeCity.ActiveReports.SectionReportModel.ARControl[] hideControls = {this.Shape1, this.Shape2, this.Shape3, this.Shape4, this.Shape5, this.Shape6, this.Shape7, this.Label1, this.Picture1};

    // コントロールを非表示にする
    if (this.ForPrint)
    {
        foreach (GrapeCity.ActiveReports.SectionReportModel.ARControl c in hideControls)
        {
            c.Visible = false;
        }
    }
}

印刷ボタンの動作を変更する

 データのみのレポートを印刷するように、印刷ボタンの動作を変更します。

 Viewerコントロールのツールバーは .NET FrameworkのToolStripオブジェクトで作成されていますので、カスタマイズが可能です。カスタマイズの方法については、こちらのナレッジ文書をご参照ください。

プレビュー(データ+プレ印字用紙)
プレビュー(データ+プレ印字用紙)
印刷(データのみ)
印刷(データのみ)

まとめ

 今回は、9.0Jの新機能であるレイヤーを紹介しました。レイヤーのDesignerTrasnparencyプロパティを使用することで、既存の帳票の画像をトレースして帳票レイアウトを作成できます。また、レイヤーのTargetDeviceプロパティを使用することで、簡単にプレ印字の用紙にデータのみ印刷できます。

 次回は、「HTML5ビューワ」を使用したWebアプリケーションの作成方法を紹介します。



  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

あなたにオススメ

著者プロフィール

バックナンバー

連載:5分でわかるActiveReports帳票

もっと読む

All contents copyright © 2005-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5