2010年2月26日金曜日

JasperReportsでデータの並び替えを行う

ACCESSのレポートではグループ化や並び替えと言った事が画面上で定義出来たが、いざJasperReportsでやってみようとした所、どこにもそういった項目が無くはまってしまいました。
色々調べてみるとそれらしいキーワードが出ては来るものの海外のサイトなので手探りでやってみた所うまく並び替えが出来るようになりました。

ポイントは
 ・<sortField>を使用
 ・デザイナ上では設定できない?ようなので直接XMLファイルを編集する
 ・スキーマの制約上、<field>タグの次に記述する
 ・デフォルトで昇順になっているので、降順にする場合は
  order="Descending" を指定する。
   (order="Ascending"と記述してもiReportで省かれてしまう様子)

■ 記述例
 <jasperReport>
      :
     <field name="CD class="java.lang.String"/>
     <field name="KEY1" class="java.util.Integer"/>
     <field name="KEY2" class="java.lang.Integer"/>
     <sortField name="KEY1"/>
     <sortField name="KEY2" order="Descending"/>
     <background>
         <band/>
     </background>
      :

上の記述で、KEY1の昇順、KEY2の降順の優先順位でソートが行われるようになります。


0 件のコメント: