JasperReportsを利用するJavaプログラムを実験しています。レポートの(おそらく)単純な「日付を降順で並べ替える」タスクとして始まったものは、「日付」が文字列形式であり、間違った方法ではあるが並べ替えられていることがわかったときに、より複雑になりました。 。例:
- 2012年3月26日
- 2012年3月26日
- 08/11/12
- 2012年8月26日
- 2011年10月26日
10/26/11が下に配置されているのは、前に10があるからだと推測できます。
iReport3.0.0を使用してJasperReportを調べたところ、次のことがわかりました。
- 問題の日付(名前:DTEEFFEC)は、[フィールド]の下で[文字列]に設定されています。
- textFieldもStringに設定されます。
これによってエラーが発生することはなく、「日付」を降順で並べることが不可能ではないにしても困難になるだけです。
だから私は次のことをしました:
- DTEEFFECをそのままにしました(文字列)。
- textFieldをJava.Lang.StringからJava.Util.Dateに変更しました
新しいフィールド式に以下を追加しました。
new SimpleDateFormat( "MM-dd-yyyy")。parse($ F {DTEEFFEC} .toString())
私は自分の問題について調査した後、そのコードを見つけました。多くの回答は「うまくいった」という線に沿っていましたが、私にとってはそうではありませんでした。
Caused by: java.text.ParseException: Unparseable date: "03/26/2012"
これがJavaプログラムが返すものです。フィールドとtextFieldの両方(文字列値または日付値のいずれかを交互に使用)をいじってみましたが、他のエラーが完全に発生します。
これについて助けてもらえますか?
ありがとう。
その他の情報:iReports 3.0.0を使用してJRXMLファイルを変更し、Eclipseを使用してJavaプログラムを変更しています。Eclipseの参照ライブラリを信じるなら、私はJasperReports3.5.2を使用しています。すべてがWindows7で実行されます。