任意のタイミングで改ページを行う方法は?
対象製品
ActiveReports for .NET 3.0J Standard Edition
詳細
セクションのNewPageプロパティを、コード上で切り替えることで、任意のタイミングで改ページを行うことが可能です。たとえば、NewPageプロパティを"After"に設定すると、そのセクションを出力した後に、改ページ処理が行われます。
下記のコードでは、NewPageプロパティを利用して、Detailセクションを10件出力するたびに改ページを行なっています。
◆サンプルコード(VB.NET)
◆サンプルコード(C#)
※NewPageプロパティを切り替える処理は、そのセクションのFormatイベント内で実行する必要があります。
レポートの改ページに関する機能としては、他にも KeepTogether / RepeatStyle / GroupKeepTogether 等のプロパティがございます。各プロパティの詳細につきましては、製品ヘルプをご参照ください。
下記のコードでは、NewPageプロパティを利用して、Detailセクションを10件出力するたびに改ページを行なっています。
◆サンプルコード(VB.NET)
Dim RowNumber As Integer ' 件数カウンタ
Private Sub Detail_Format(ByVal sender As Object, ByVal e As System.EventArgs) Handles Detail.Format
RowNumber = RowNumber + 1
If RowNumber < 10 Then
' 件数が10件に満たない場合、改ページは行ないません。
Me.Detail.NewPage = NewPage.None
Else
' 10件出力した後、改ページを行い、カウンタをリセットします。
Me.Detail.NewPage = NewPage.After
RowNumber = 0
End If
End Sub
Private Sub Detail_Format(ByVal sender As Object, ByVal e As System.EventArgs) Handles Detail.Format
RowNumber = RowNumber + 1
If RowNumber < 10 Then
' 件数が10件に満たない場合、改ページは行ないません。
Me.Detail.NewPage = NewPage.None
Else
' 10件出力した後、改ページを行い、カウンタをリセットします。
Me.Detail.NewPage = NewPage.After
RowNumber = 0
End If
End Sub
◆サンプルコード(C#)
int RowNumber; // 件数カウンタ
private void Detail_Format(object sender, System.EventArgs eArgs)
{
RowNumber++;
if (RowNumber < 10)
{
// 件数が10件に満たない場合、改ページは行ないません。
this.Detail.NewPage = NewPage.None;
}
else
{
// 10件出力した後、改ページを行い、カウンタをリセットします。
this.Detail.NewPage = NewPage.After;
RowNumber = 0;
}
}
private void Detail_Format(object sender, System.EventArgs eArgs)
{
RowNumber++;
if (RowNumber < 10)
{
// 件数が10件に満たない場合、改ページは行ないません。
this.Detail.NewPage = NewPage.None;
}
else
{
// 10件出力した後、改ページを行い、カウンタをリセットします。
this.Detail.NewPage = NewPage.After;
RowNumber = 0;
}
}
※NewPageプロパティを切り替える処理は、そのセクションのFormatイベント内で実行する必要があります。
レポートの改ページに関する機能としては、他にも KeepTogether / RepeatStyle / GroupKeepTogether 等のプロパティがございます。各プロパティの詳細につきましては、製品ヘルプをご参照ください。
キーワード
デザイン・レイアウト
この文書は、以前は次のFAQ IDで公開されていました : 10367