デフォルトでは、 C1Report は各ページを下端まで出力し、ページ区切りを挿入し、次のページのレンダリングを続行します。いくつかのプロパティを使ってこの動作を上書きできます。
- Group.KeepTogether: グループヘッダセクションを単独で1つのページにレンダリングできるか、グループヘッダセクションを1つ以上の詳細セクションと共にレンダリングする必要があるか、それともグループ全体を1つのページにまとめて置く必要があるかを決定します。
- Section.KeepTogether: セクション内にページ区切りを入れることができるかどうかを決定します。優先度は KeepTogether より下です。
- ForcePageBreak: ページ区切りをセクションの前、後、または前後に挿入するかどうかを指定できます。
- Field.KeepTogether: フィールド内にページ区切りを入れることができるかどうかを決定します。これにより、長いテキストフィールドを複数のページに続けることができます。優先度は KeepTogether より下です。
- ForcePageBreak: ページ区切りをフィールドの前、後、または前後に挿入するかどうかを指定できます。
これらのプロパティを設計時に設定したり、レポートのレンダリング中にスクリプトを使って変更することができます。たとえば、次のスクリプトは、詳細セクション 10 個ごとにページ区切りを挿入します。
- C1ReportDesigner アプリケーションを開きます。C1ReportDesigner へのアクセス方法の詳細については、Visual Studio からの C1Report デザイナへのアクセス を参照してください。)
- 基本的なレポート定義ファイルの作成 か、既存のレポートを開きます。C1ReportDesigner アプリケーションでレポートが表示され、レポートのプロパティを変更できます。)
- [印刷プレビューを閉じる]ボタンをクリックし、レポートの編集を開始します。)
- デザインモードで、プロパティウィンドウのドロップダウンリストから明細を選択します。
- OnPrint プロパティを指定し、その横にある空のフィールドをクリックした後、 〈...〉 ボタンをクリックします。
- VBScript エディタが表示されます。次のVBScript 式をコードエディタに入力します。
cnt = cnt + 1
detail.forcepagebreak = "none"
if cnt >= 10 then
cnt = 0
detail.forcepagebreak = "after"
endif
CommonTasks.xml にあるレポート「07: 強制的な改ページ」を参照してください。