中学ぐらいからミュシャの絵が好きでポスターとかを集めていました。
何気なくアマゾンを見ていたらカレンダーがうってるじゃないですか!!!
早速、アマゾンで購入とおもったら品切れでした。

こうなると俄然とほしくなるのが悪い癖です。
楽天、e-hon、セブン色々探しましたが見つかりません。
あきらめたところで、偶然にも販売しているWebページを発見!!!
早速購入しちゃいました^^

早く、届かないかな~
今回は、前回から引き続き作成している、簡易伝票PDFのテンプレートを引き続き作成します。

前回では、計算式の作成までが終了したので、今回は計算式の利用から進めます。

-----前回-----
1.今回利用するDB紹介 
2.計算式の作成

-----ここから-----
3.計算式の利用
4.画像の利用
5.Javaからのパラメータの受け取り

3.計算式の利用
文字フィールドを設置し、プロパティを変更すると利用できます。
今回は計算式を記述するために必要なプロパティだけを紹介します。

【同一レコードの金額を求める】計算式の利用
「Text Field」タグ内の設定

Evaluation time:文字フィールドが評価されるタイミングを設定します。
Now:
Report:



前回は基本本機能 についてまとめてみました。
今回は、簡易伝票を作成しながら、計算式などをまとめておきます。

今回の完成予定テンプレート


今回の目次

1.今回利用するDB紹介
2.計算式の作成
3.計算式の利用
4.画像の利用
5.Javaからのパラメータの受け取り


1.今回利用するDB紹介
mysql> select * from TestiReport;
tid tname count price
1 硬度15のお豆腐 1 180
2 甘い唐辛子 10 1800
3 辛い砂糖水 8 900


2.計算式の作成
計算式作成の大まかな流れ
i.計算式(Variables)を作成
ii.文字フィールドで先ほど作ったVariablesを利用する
今回は2種類の例を紹介します。

単純な計算式を利用する例
【同一レコードの金額を求める】

・計算式(Variables)の作成

計算機のようなアイコンをクリックし、「Add/modify variable」ウィンドウを表示する。
設定項目は以下のとおり。
・Variable name :変数名(計算式の名前)
・Variable class type:変数の型
・Calculaction type:複数データ(DBの行など)に対して、行う計算タイプを指定。合計やカウントが行える。複数行などの計算しないならNothing
・Rest type:変数の初期化のタイミング。
・Report:レポートのはじめに初期化される。
・Page:ページのはじめに初期化される。
・Column:コラムのはじめに初期化される。
・Group:グループのはじめに初期化される。
・None:初期化しない。

イメージとしては「ごと」って感じでしょうか? Reportごとに計算する。

・Increment type:増分の設定らしい。変数が増分するタイミングを示す?まだ良くわかってません。
・Variable expression:変数の値

・Intial value expression:変数の初期値

今回の値
・Variable name :KINGAKU
・Variable class type:java.lang.Double
・Calculaction type:Nothing
・Rest type:Column
・Variable expression:new Double($F{count}.doubleValue() * $F{price}.doubleValue())
・Increment type:None

関数を利用する例
【金額の合計を求める】
・Variable name :GOUKEI
・Variable class type:java.lang.Double
・Calculaction type:Sum
・Rest type:Report(PageにするとPageごとの合計に、Reportにすると、1ページ目は1ページの合計、2ページ目は1+2ページの合計といったようになる。)
・Variable expression:$V{KINGAKU}
・Increment type:None


次回は 今回説明しなかった、3.計算式の作成から を説明します。