【使い方】
印刷開始時に、印刷開始・終了ページ指定に対応して、印刷の対象となるレコード範囲を設定する例。
// this.PageCount は、印刷ページ数
// this.CurrentPage は、現在印刷中のページ番号
// this.CurrentRowIndex は、現在印刷中のレコード番号
// this.LastRowIndex は、最終印刷レコード番号
// this.PageRowCount は、1ページに印刷可能なレコード数
/// <summary>
/// 印刷開始時に呼び出されるイベントメソッド
/// 印刷開始ページ&開始・終了レコード番号を設定
/// </summary>
/// <param name="e">印刷用イベントデータ。</param>
protected override void OnBeginPrint(System.Drawing.Printing.PrintEventArgs e)
{
//印刷ページ数を初期化
this.PageCount = 0;
//カレントページ数を初期化(印刷処理時に1加算されてスタートする)
this.CurrentPage = 0;
//開始ページ指定がある場合は、そのページ-1を初期値として設定(印刷処理時に1加算されてスタートする)
if ( this.DefaultPageSettings.PrinterSettings.FromPage > 0 )
{
// カレントページを設定する
this.CurrentPage = this.DefaultPageSettings.PrinterSettings.FromPage - 1;
}
// カレントレコード番号を開始ページで初期化する
this.CurrentRowIndex = this.PageRowCount * PrintParam.CurrentPage;
//最終レコード番号を初期化
this.LastRowIndex = this.RecordCount;
//最終ページが指定されている場合、最終ページまでのレコード数を設定
if ( this.DefaultPageSettings.PrinterSettings.ToPage > 0 )
{
// 最終レコード番号を最終ページで設定する
this.LastRowIndex = this.PageRowCount * this.DefaultPageSettings.PrinterSettings.ToPage;
}
}
|