Skip to main content

iReport Tips

The following are useful tips for non-Java people like me. Adding Groovy support to iReport should do the trick but it requires an additional library. The tricky part with iReport variables is getting the data types to match.

The highlighting feature of Eclipse BIRT is much better than how it is being done in iReport/Jasperreports. I usually use an arrow character than changing the background color as it looks cleaner in the report design.

Accessing variables, parameters and fields

$P{fieldName} - is for parameter
$F{fieldName} - is for fields
$V{variableName} - is for variables

To highlight a row when it reaches a certain condition:

1. Add a text field
2. In the properties under PrintWhenExpression:

new Boolean($F{owner}.equals("username"))

The key thing here is that if the field owner is true,
it will print the text field.

To set a default date:

new SimpleDateFormat("yyyyMMdd").parse("20050101")

To show overall statistics on the first page of the report: Usually these are variables that should be computed at the end of the report. The reset type on the variable does not affect the actual output. You will need to change the evaluation time property on the textfield object.

To make a computed variable (usually percentage):

new Double($V{VAR1}.doubleValue() / $V{REPORT_COUNT}.doubleValue())

Comments

Air_Consumer said…
Thanks, every little bit helps.

Popular posts from this blog

iReport Default Date Parameter

If you want to set a default date for a jasperreports parameter, you can enter the following in the default value expression of the parameter. new Date() However, if you wanted the default to be relative from today, for example, 3 days ago, you will need to do go outside of the standard java date libraries (Date, Calendar) because JR parameter does not allow you to have multiple statements. You can write your own utility package or you can use Joda , a replacement library for the JDK date and time library. To use Joda in iReports, you need to extract the jar file and add it to Options -> Classpath. You may also drop the jar file in iReports' lib directory. You will also need to add this library to your application or report server. For setting a default date 5 days prior from today, use this: new org.joda.time.DateTime().minusDays(5).toDate() or this if you want the time part set to the beginning of the day: new org.joda.time.LocalDate().toDateTimeAtStartOfDay().minusDays(5).to...

Get uptime alerts in Telegram

You will be configuring 3 services. The assumption is that you have accounts already for these services. UptimeRobot — source of the uptime/downtime notifications. It currently supports email, Twitter, Slack, Pushover, Pushbullet and others but not Telegram. We will use the webhook notification as the way to send messages to Telegram. IFTTT — bridges UptimeRobot and Telegram by providing the webhook for UptimeRobot and triggering a message to Telegram. In IFTTT terminology: IF {event trigger from UptimeRobot}, then {send message to Telegram group} Telegram — destination of the notification. You will need to create a group for this. Telegram Configuration In Telegram, create a new group, if needed. You may opt to use an existing group. Go to @IFTTT and follow the instruction so link your Telegram account to your IFTTT account. Send /connect_group to @IFTTT and connect the group where you want to send the notifications. IFTTT Configuration Sign in to IFTTT and add a ne...

Your car key remote got wet, what now?

My car key fell into a street drain where it lay there for at least 5 minutes before somebody was able to fish it out. The first thing you need to do is remove the battery and dry out the electronic parts. I used tissue paper to blot out all visible moisture. When everything appeared to be dry, assembled the key back and tried to open the car. Fortunately, it worked. A couple of hours later, it didn't work anymore. When I checked the battery again, there was a little water and it appeared that there was still moisture inside the casing. The best thing to do here is to find silica gel or a dessicant which you can find inside new shoes or bags. If you can't find any, you can go to a supermarket and buy a pack of rice crackers. I knew One One Rice Crackers had a large pack of dessicant inside. That's the one on the left below. I found the one on the right from a Case Logic bag. Just pack these together with the electronic component of the car key in plastic bag. Seal it and...