我正在嘗試使用Jasper Reports的Java程序。當我發現'日期'是字符串格式,並因此被排序,雖然以錯誤的方式進行排序,但開始時作爲(假定爲)簡單的「按降序排列日期」任務變得更加複雜。例如:將字符串轉換爲日期 - 無法解析的日期:「03/26/2012」
- 12年3月26日
- 12年3月26日
- 12年8月11日
- 12年8月26日
- 11年10月26日
我只能猜測10/26/11是因爲前面10個而放在底部。
我使用的iReport 3.0.0看着碧玉報告,我發現以下幾點:
- 有問題的日期(名爲:DTEEFFEC),場下被設置爲字符串。
- textField也設置爲String。
這不會產生任何錯誤,它只會使得如果不是不可能的話按降序排列'日期'就很困難。
所以我做了以下內容:
- 左DTEEFFEC爲是(字符串)。
- 改變了文本框從java.lang.String中到Java.Util.Date
添加以下的新領域表達:
新的SimpleDateFormat( 「MM-DD-YYYY」)解析($ ˚F{} DTEEFFEC的ToString())
我發現的代碼位對我的問題,經過一番研究。很多回復都是「有效」的,但對我而言並非如此。
Caused by: java.text.ParseException: Unparseable date: "03/26/2012"
這就是Java程序返回的結果。我試着修改字段和textField(字符串或日期值之間交替),但它完全給了我其他錯誤。
我可以幫忙嗎?
謝謝。
其他信息:我正在使用iReports 3.0.0修改JRXML文件,併爲Eclipse程序修改Eclipse。如果Eclipse下的引用庫是可信的,我使用JasperReports 3.5.2。整個事情運行在Windows 7
好,謝謝。它的工作,但不幸的是,10/26/11仍在底部。仔細查看JRXML之後,我猜測爲什麼:報告本身不會進行排序。查詢檢索數據並對它們進行排序。如果'date'是一個String數據類型,那麼將它放在底部10/26/11是有意義的。由於我能夠在報告中將字符串轉換爲日期,所以我想知道是否有辦法對報告進行排序。 – 2013-03-15 08:22:48
@zack_falcon:恐怕我對這方面的事情一無所知 - 我只是在處理轉換部分。 – 2013-03-15 08:35:45
謝謝你一樣。至少它得到了報告顯示,而以前它只會返回一個錯誤。 – 2013-03-15 08:42:26