if else "and or"

By: Edward Mann - emann
if else "and or"
2005-10-04 13:30
I have a report that is getting some data from a database. The fields that i have are money fields. However some have 0 as a value and some are blank/null and others actually have a value in them. When the field is blank/null or just have a 0 in them i don't want them to print. I have spent a few hours reading through the mailing lists and other sites, but i just cannot figure out how to write an expression that will report what i want.

i want something like this

if ($value != "") || ($value != "0") {
print the field
Any hints?


By: Wal Millard - walmillard
RE: if else "and or"
2005-10-04 16:59


the "if" statement implemented in ireport/jasper report is the java in-line if.

(Condition)?(boolean.TRUE result):(boolean.FALSE result)

the ? and the : are the key operators.

for the zero amount use something like this

$F{myDollar}.doubleValue() == 0?(" "):($F{myDollar})

this will print a single space instead of 0.

NOTE if you are using a float type you would have to use floatValue() instead of doubleValue().

now if you want to combine more than one condition, say for null, you can nest the if statements in either the TRUE or FALSE result.

$F{myDollar}.doubleValue() == 0?(" "):$F{myDollar} == null?(" "):$F{myDollar}

for a "null" value you should be able to set the check box "blank when null" so the text "null" is not displayed.


By: Edward Mann - emann
RE: if else "and or"
2005-10-04 20:32

Thanks for the reply. I did a google on that java in-line if and found some information. Howerever i am still at a loss. I tried what you suggested, howerver the error i am getting when i compile the report is.
"Print When Expression: Incompatible conditional operand types String and Double"

I have entered your example the exact way you have it typed, just changing out the Field value with my own. Which my field value is of a type java.lang.Double
$F{Total_Exp_PSF}.doubleValue() == 0?(" "):($F{Total_Exp_PSF})
I am putting this in Text.field.expression is that right?

I have set it to not print when null. Now i just need to keep it from printing when the value is just 0.

I am new to all this, and i appreciate the help very much.


By: JenJo - jenjo
RE: if else "and or"
2005-12-06 08:57

Just wanted to check, did u ever solve this problem?
As i am getting the same error and not sure where else to put it if not in a text. field.expression?


By: PhreddNet - phreddnet
RE: if else "and or"
2005-12-06 10:05
The problem with the "if" statement is that it returns two different value type, one String the other Double. Add ".asString()" to the end of the Double value to get the same object types. (or convert the String to a Double if you are brave enough).

A better solution would be to set the "Print when expression" value for the field to the following "($F{myDollar}!= null)&&($F{myDollar} != 0)".
2005 IR Help's picture
Joined: Aug 9 2006 - 3:40am
Last seen: 17 years 1 month ago

0 Answers:

No answers yet