Visual Emphasis Without Custom Code
IR Highlighting Rules apply background colors, text colors, or both to rows or cells that match specified conditions. Users can create their own highlighting rules through the Actions menu, and developers can pre-configure default highlights that ship with the report.
User-Created Highlighting
Users access highlighting through Actions, then Format, then Highlight. They specify a name (like “High Value”), choose a background color and text color, select the column to evaluate, choose an operator (equals, greater than, contains, etc.), and specify the comparison value. Multiple highlight rules can be active simultaneously, with priority determined by their sequence.
Developer-Created Default Highlights
To ship a report with pre-configured highlights, run the page, create the highlight rules interactively, and save the report as the Primary Default. The highlights persist as part of the saved report definition. Common patterns include: red background for overdue items, green for completed items, yellow for items needing attention, and bold text for high-priority rows.
Highlighting Based on Multiple Conditions
A single highlighting rule can only evaluate one column against one condition. For complex multi-condition highlighting, add a computed column to your SQL that evaluates the complex condition and returns a classification value, then highlight based on that computed column:
SELECT order_id, customer_name, amount, due_date, status,
CASE
WHEN status = 'OVERDUE' AND amount > 5000 THEN 'CRITICAL'
WHEN status = 'OVERDUE' THEN 'WARNING'
WHEN due_date < SYSDATE + 3 THEN 'APPROACHING'
ELSE 'NORMAL'
END AS alert_level
FROM orders;
Create highlighting rules based on ALERT_LEVEL: CRITICAL = red, WARNING = orange, APPROACHING = yellow. The ALERT_LEVEL column can be hidden from the user while still being available for highlighting.
Cell-Level vs Row-Level Highlighting
By default, highlighting applies to the entire row. To highlight only a specific cell, use HTML Expression on the column instead of IR highlighting rules. The HTML Expression approach gives you per-cell control with CSS classes based on data values, as described in the conditional formatting article.
Performance Impact
Highlighting rules are applied client-side by JavaScript after the report renders. Each rule evaluates every visible row, so having many highlight rules (more than 10) on a report with many rows per page (more than 100) can introduce a noticeable rendering delay. Keep the number of highlight rules reasonable and optimize the rows per page setting.