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
* 
	 * @param item
	 *            Engine's Report Item
	 * @param handle
	 *            DE's report item.
	 */
	private void setupReportItem( ReportItemDesign item, ReportItemHandle handle )
	{
		setupStyledElement( item, handle );
		
		DimensionType height = createDimension( handle.getHeight( ) );
		DimensionType width = createDimension( handle.getWidth( ) );
		DimensionType x = createDimension( handle.getX( ) );
		DimensionType y = createDimension( handle.getY( ) );
		item.setHeight( height );
		item.setWidth( width );
		item.setX( x );
		item.setY( y );
		
		String toc = handle.getTocExpression( );
		item.setTOC( createExpression( toc ) );
		
		String bookmark = handle.getBookmark( );
		item.setBookmark( createExpression( bookmark ) );
		String onCreate = handle.getOnCreate( );
		item.setOnCreate( createExpression( onCreate ) );
		item.setOnRender( handle.getOnRender( ) );
		
		Iterator visibilityIter = handle.visibilityRulesIterator( );
		VisibilityDesign visibility = createVisibility( visibilityIter );