OnFetch イベントハンドラ

 

印刷データを1件読み込むごとに呼び出されます。OnFetchイベントハンドラは、キーブレイクや集計などの処理の前に呼び出されるので、OnFetchイベントハンドラ内で読み出したデータを印刷に適した別の形態に加工することができます。加工されたデータは、カーソルから読み出したものとして処理が行われます。

 

例1

var qfm = GetQfm();
var cursor = qfm.GetCursor();
function OnFetch()
{
    var data = cursor.GetValue("金額"); // データ取出し
    cursor.SetValue("金額", data.kanji()); // 漢数字に変換
}

 

この例では、読み込んだ印刷データの、数字データが格納されている「金額」項目を、kanji()関数により漢数字に変換します。その結果、印刷データとなるデータベースなどに「5千」のように、もともと漢数字が格納されているかのように動作します。

 

例2

var qfm = GetQfm();
var cursor = qfm.GetCursor();
var page = qfm.GetPage();
function OnFetch()
{ 
    // データ取出し
    var data = Number(cursor.GetValue("金額"));
    if (data < 0) {
       page.GetField("txt金額").back.color = "#FF0000";
    } else { 
       page.GetField("txt金額").back.color = "#FFFFFF";
    }
}

 

この例では、読み込んだ印刷データの、「金額」項目がマイナスの場合、「txt金額」フィールドを赤で表示します。

 

(注) OnFetchイベントハンドラ内で、cursor.MoveNext()を実行する場合は十分注意してください。MoveNext()の実行により再帰的にOnFetchイベントハンドラが呼び出されます。

 

(注) OnFetchイベントハンドラ内では、できるだけ印刷データの加工や印刷データに対応したレコード内のフィールド処理だけを行うようにしてください。ページ上に置かれているフィールドや、リージョンの操作を行うと、実際に印刷される契機(改ページの契機)とデータ読み込みのタイミングの差により、意図した結果を得ることが難しくなります。

 



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