セクションレポートでデータのみ印刷
ここでは、セクションレポートで「プレ印字の用紙にデータのみ印刷する」方法を紹介します。セクションレポートではレイヤー機能は使用できませんが、実行時にコードでプレビュー用、および印刷用にレポートを生成することで対応できます。
ただし、この方法の場合は、プレビュー用と印刷用にそれぞれレポートを生成することになります。通常はプレビュー用に作成したレポートをそのまま印刷しますが、この方法では印刷用に再度レポートを生成することになるため、通常のビューワからの印刷に対してパフォーマンス的に不利になります。
付属のサンプルは、「03_セクションレポートでデータのみ印刷.vb/.cs」をご参照ください。
レポートデザインの作成
はじめに、セクションレポートでレポートを作成します。ページレポートの場合と同様、ハガキのレイアウトおよびデータ部分を作成します。
 
 コントロールの非表示
印刷時にプレ印字用紙のレイアウト(郵便番号の枠線や会社ロゴ)を非表示に設定するためのPublicなプロパティを追加します。
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
  
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アプリケーションの作成方法を紹介します。

 
              
               
                          
                           
                          
                           
                          
                           
                          
                           
                          
                           
                          
                           
                          
                           
                          
                           
                          
                           
                          
                           
                          
                           
                          
                           
                              
                               
                              
                               
                              
                               
                              
                               
                              
                               
                      
                     
                      
                     
                      
                     
                      
                     
                      
                     
                      
                     
                      
                     
															
														 
															
														.png) 
     
     
     
     
     
													 
													 
													 
													 
													 
										
									
 
                    
