改ページが発生するごとに呼び出されます。厳密には、改ページ処理が行われる直前に呼び出されます。複合フォーム使用時の次フォーム決定処理などに使用します。
OnPageChangeイベントハンドラの戻り値として、ページオブジェクトを返すことにより、次ページのフォームを指定することができます。戻り値を返さない場合は、現在のフォームが次ページでも使用されます。
OnPageChangeイベントハンドラの引数として、1つの整数型のパラメータを受け取ることができます。これは、改ページ発生の理由を知るためのフラグとして利用することができます。Write()関数、WriteRecords()関数、PageChange()関数によって改ページが発生した場合に、その引数として渡したパラメータがOnPageChangeイベントハンドラで受け取られます。
例
var qfm = GetQfm(); var currentForm = qfm.GetPage("Form1"); function OnPageChange() { var region = recDetail1.GetParent().GetCurrentRegion(); while (currentForm.name == region.GetParent().name) { currentForm = region.GetParent(); region = region.GetNextRegion(); if (!region) { region = fdForm1_RecDetail1.GetParent(); } } currentForm = region.GetParent(); return currentForm; }
この例では、複合フォームの次のフォームを決定する処理を行っています。明細レコード(recDetail1)の属するリージョンから、リージョン接続を辿って次のフォームを検索します。Form1→Form2→Form3のように辿っていき、最後まで来たらForm1に戻ります。
OnPageChangeイベントハンドラはバージョン3.0で追加された機能です。以前のバージョンでは使用できません。