Bug 102511 Enhance Highlighting to support Banding
Using the highlight feature to create a banded report results in a messy report. To recreate, create a simple tabular report. In the designer, select the detail row, go to the Highlights tab on the Property Editor view. Add a new highlight, set its condition to be "row[0] % 2" "Equals" "0". Set the formatting for the highlight to have a gray background color. When the report is previewed, alternating rows have a background color for each cell. The issue is that the backgrounds for the cells are not contiguous, there are spaces between each cell's background, and if a cell has a null value there is no background color. In this situation the highlight should apply to the row, instead it is being applied to each cell. If I manually set the background of a detail row to be gray I get the effect I want.
engine/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/parser/EngineIRVisitor.java
.setTextAlign( getElementProperty( handle,
						Style.TEXT_ALIGN_PROP ) );
		style
				.setTextIndent( getElementProperty( handle,
						Style.TEXT_INDENT_PROP ) );
			style.setTextUnderline( getElementProperty( handle,
					Style.TEXT_UNDERLINE_PROP ) );
			style.setTextLineThrough( getElementProperty( handle,
					Style.TEXT_LINE_THROUGH_PROP ) );
			style.setTextOverline( getElementProperty( handle,
					Style.TEXT_OVERLINE_PROP ) );
		
		style.setLetterSpacing( getElementProperty( handle,
				Style.LETTER_SPACING_PROP ) );
		style
				.setLineHeight( getElementProperty( handle,
						Style.LINE_HEIGHT_PROP ) );
		style.setOrphans( getElementProperty( handle, Style.ORPHANS_PROP ) );
		style.setTextTransform( getElementProperty( handle,
				Style.TEXT_TRANSFORM_PROP ) );
		style.setVerticalAlign( getElementProperty( handle,
				Style.VERTICAL_ALIGN_PROP ) );
		style
				.setWhiteSpace( getElementProperty( handle,
						Style.WHITE_SPACE_PROP ) );
		style.setWidows( getElementProperty( handle, Style.WIDOWS_PROP ) );
		style.setWordSpacing( getElementProperty( handle,
				Style.WORD_SPACING_PROP ) );
		
		style.setDisplay( getElementProperty( handle, Style.DISPLAY_PROP ) );