The customer had a requirement to shows all the rows of a report but have a couple rows of the report display differently based on a column value.  When the column value was "current" the report row would need to be highlighted green and when the column value was "target" the report row would just need to the have the data printed in bold.

In this example we will do something similar.  Using a classic report we have a list of customers and a summary of their orders.  We want to highlight the row in yellow with the customer(s) that has a total less than $1000 and bold the row with the customer(s) that has a total greater than $2400.

First we will make a copy of the standard report template via:

Shared Components > Templates
> Create
> Report
> As a Copy of an Exisiting Template...

Next we will edit the template we created.  The Edit Report Template page will have a "Column Templates" section which has 4 Column Template options.  The standard report template will usually have the "Column Template 1" field populated with something like:

<td#ALIGNMENT# headers="#COLUMN_HEADER_NAME#" class="data">#COLUMN_VALUE#</td>

We can copy and paste this line to the "Column Template 2" and "Column Template 3" fields.

Now we change the "Column Template 1" field to add a style option to set the background color.

   style="background-color: yellow;">#COLUMN_VALUE#</td>

Set the "Column Template 1 Condition" field to "Use Based on PL/SQL Expression".

Add a PL/SQL condition referencing the "Total" column to the "Column Template 1 Expression" field.


We also change the "Column Template 2" fields to give us the bolded text when the total is above $2400.

Column Template 2:

   style="font-weight: bold;">#COLUMN_VALUE#</td>

Column Template 2 Condition: Use Based on PL/SQL Expression
Column Template 2 Expression:


We leave the "Column Template 3" field without any condition so that it will be used for any column/row that doesn't meet the previous two conditions.  The "Column Templates" will look something like this:

Save the template and run the page (don't forget to assign the new template to the report definition) and we can see the changes we have made to the report.