SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

5分でわかるActiveReports帳票(AD)

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

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

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

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

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

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

 付属のサンプルは、「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アプリケーションの作成方法を紹介します。

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
5分でわかるActiveReports帳票連載記事一覧

もっと読む

この記事の著者

グレープシティ株式会社 ActiveReportsチーム(グレープシティカブシキガイシャ アクティブレポートチーム)

 宮城県仙台市に本社を構えるグレープシティでは、日本の業務に適したシステムをより早く開発するためのソフトウェアを提供しています。エンドユーザーの利用しやすさ、幅広いユーザー環境への対応、そして何よりプログラマの作業を軽減することを一番に目指しています。 ActiveReportsは、帳票開発に必要なあらゆる機能を備えた当社を代表するコンポーネントの1つ。1998年の発売以来、日本だけでなく全世界で多数の帳票開発者に使用されています。製品開発は同チームが中心になり、「日本仕様」の厳しい要望を実現することを目指しています。...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/8967 2015/11/10 15:31

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング