OnFormLoad イベントハンドラ

 

フォームのロード時に一度だけ呼び出されます。OnFormLoadイベントハンドラは独自の処理によるフォームの初期化や、印刷データの読み出しループをスクリプトで処理するなど、既定の動作を超えた印刷処理を表現することができます。

 

OnFormLoadイベントハンドラの処理の終了後も、既定の動作が引き続き継続されます。既定の動作が不要な場合、OnFormLoadイベントハンドラ内でフォームオブジェクト.End()を実行してください。

 

OnFormLoadイベントハンドラ内でcursor.MoveNext()を実行した場合、OnFetchイベントハンドラが呼び出されます。

 

var qfm = GetQfm();
var cursor = qfm.GetCursor();
var page = qfm.GetPage();
var rec = page.GetField("Rec");
function OnFormLoad()
{
    while (!cursor.IsEod()) { // 1行ごとのループ
        // 金額が0の場合読み飛ばす
        if (cursor.getValue("金額") > 0) {
            cursor.CalculateTotal(); // 集計計算
            page.AssignData(); // データをフォームに転送
            rec.Write(); // レコード出力
        }
        cursor.MoveNext(); // 次データ読み込み
    }
    page.PageChange(); // 最終のページを出力
    qfm.End(); // 印刷終了
}

 

この例では、印刷データの「金額」項目が0以下のデータを読み飛ばして印刷を行っています。最後にEnd()を実行しているため、OnFormLoadイベントハンドラ終了後に既定の動作は実行されず、すべての印刷はこのスクリプトで処理されます。

 



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