0

今月は以下のようにいろいろな状態でチェックしたいです。だから私はTextFieldそのパターンを編集しMM、式エディタで以下のコードを編集します

new java.util.Date()>=4 && new java.util.Date() <= 7 ? "Q1" :  
new java.util.Date()>=8 && new java.util.Date() <=11  ? "Q2" : "Q3"

しかし、それはエラーを与えます

Error filling print... Error evaluating expression :      Source text : new java.util.Date()>=4 && new java.util.Date() <= 7 ? "Q1" : new java.util.Date()>=8 && new java.util.Date() <=11  ? "Q2" : "Q3" 
Setting up the file resolver..

でも私が次のような表現をするとき

new java.util.Date()== 4 ? "Q1" : "Q2"

正常に動作します。

iReportは複数の状態を解決できませんか?TextFieldまたは私は単一の条件で異なるものを与えるべきですか?

4

4 に答える 4

2

new java.util.Date() は月を与えるだけですか?

これを試してみると、蛾
(new SimpleDateFormat("M")).format(new java.util.Date())が得られます

また、yyyy(年) または d(日付) を使用して確認することもできます。持っていない場合は、Integer.parse(...month...) または Date.parse(...month...) が必要になる場合があります。あなたのQを整数または日付として。

于 2013-02-28T09:51:00.950 に答える
1

代わりにカレンダーを使用してみてください。

(Calendar.getInstance()).get(Calendar.MONTH)>=3 && (Calendar.getInstance()).get(Calendar.MONTH)>=6 ? "Q1" :
(Calendar.getInstance()).get(Calendar.MONTH)>=7 && (Calendar.getInstance()).get(Calendar.MONTH)>=10  ? "Q2" : "Q3"
于 2012-12-12T09:11:22.417 に答える
1

のように式を括弧に入れてみてください

(新しい java.util.Date()>=4 && 新しい java.util.Date() <= 7 )? "Q1" : ( (new java.util.Date()>=8 && new java.util.Date() <=11 ) ? "Q2" : "Q3")

于 2012-12-12T16:38:01.147 に答える
0

このように複数の条件を使用できます

new java.util.Date() >= 4  ?
 "Q1" :
new java.util.Date() <= 7  ?
 "Q2" :  
new java.util.Date() >= 8  ?
 "Q3" :
 "Q4"
于 2012-12-12T10:51:13.977 に答える