OnPageChange イベントハンドラ

 

改ページが発生するごとに呼び出されます。厳密には、改ページ処理が行われる直前に呼び出されます。複合フォーム使用時の次フォーム決定処理などに使用します。

 

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で追加された機能です。以前のバージョンでは使用できません。

 



「オンラインマニュアル」一覧へ戻る
「Bizの宝箱」TOPへ戻る