Let's try 帳票

ほんと簡単な一覧出力

...を作る前に設定見直し

iReport の設定変更
  • iReport 起動
  • 「ツール」メニュー>「オプション」
  • 「iReport」の「General」タブ

    • Units を「pixels」に変更
      • inche の方が好きだ!って人はスルー。自分は inche とかワカリマセン
    • Language を「Java」に変更
      • デフォが Groovy
  • 「iReport」の「Classpath」タブ

    • 「Add Folder」ボタン押下
    • <>\target\classes を指定して「開く」ボタン押下
    • 追加されたら「Reloadable」にチェック入れる
      • このチェックを入れないと、これ以降にクラスを変更してもその変更分がiReport側で読めなくて困る
  • 変更したら「了解」ボタン押下
出力する帳票イメージ

こんな感じ。

No 商品名 単価
1 うまし棒 10
2 ぐりぐり君 100
3 やっちゃんイカ 9,999
行単位の項目を持つクラス(JavaBean)を用意する
  • Eclipse 起動
  • learning.bean の package に Product クラスを作成
    • learning.bean の package なければ作る!
public class Product {
    /** 行番号 */
    private int rowNo;
    /** 商品名 */
    private String name;
    /** 単価 */
    private BigDecimal price;

    // getter/setter 省略
}
テンプレートを作成
  • iReport 起動
  • 「ファイル」メニュー>「New...」
  • ウィザードでこのまえのように選択していく
  • 今回はこれで「次へ」>「完了」
Report name
ProductList
Location
<>\src\main\resources

でけた

  • さっき作ったクラス(JavaBean)をiReport側でうまーく使用する

  • 印のボタンを押下すると「Report query」が起動する

  • 上部のタブのうち「JavaBean Datasouce」を選択する
    • 「Class name」に以下を入力し「Read attributes」ボタン押下
      • learning.bean.Product

    • rowNo, name, price を選択して「Add selected field」

    • 「OK」ボタン押下で反映する

  • JavaBean の field 読んで iReport の field として使える...これで勝つる!

  • こんな感じでテンプレート作った
    • テンプレートのメモ:
      • 帳票のタイトルを「Title」Band にStatic Textで入れた
      • 「Column Header」Band にStatic Textで枠つけて並べる
      • 「Detail 1」Band にText Field でJavaBeanから読んだフィールドを並べる

昨日下書き保存で終わってた orz