I have a report with a subreport to add a logo to the main report. In this subreport I have 2 detail bands to support two differently sized logos; one is long and the other is about a 3rd a long (width). kind of like this…
........................... |---------logo------------| address 1, address 2 ........................... |__logo__| address 1 | | address 2 ...........................
Between the 1st and 2nd row of periods is the Details 1 band and between the 2nd and 3rd is Details 2 band.
I am trying to use the “Print When Expression” to toggle the 1st or 2nd Detail band depending on the value of $F{LogoName}.
Detail 1 band:
new Boolean($F{LogoName}=="acompanyname")
Detail 2 band:
new Boolean($F{LogoName}!="acompanyname")
but it does not work.
Have also tried these:
(($F{LogoName}=="acompanyname")?Boolean.TRUE:Boolean.FALSE)
(($F{LogoName}!="acompanyname")?Boolean.TRUE:Boolean.FALSE)
The $F{LogoName} is “acompanyname”.
Every time I run the report only Detail 2 band shows. I can not get details 1 to show at all and I am not getting any error messages.
Any help is welcome.
Thank You
Try this:
In Java, the equality operator (
==), when used on objects, checks to see if they are the same reference to the same object. This one catches all report developers without a lot of Java programming experience. You could write:That would return
true, as you expect, because both objects on either side of the equals operator are the same. Consider the following:This prints:
The values of the strings objects are the same, but the references to the strings are different. The equals operation compares the references, not the values.