フォームのロード時に一度だけ呼び出されます。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イベントハンドラ終了後に既定の動作は実行されず、すべての印刷はこのスクリプトで処理されます。