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
.getMember( HighlightRule.OPERATOR_MEMBER );
		MemberHandle hValue1 = ruleHandle
				.getMember( HighlightRule.VALUE1_MEMBER );
		MemberHandle hValue2 = ruleHandle
				.getMember( HighlightRule.VALUE2_MEMBER );
		MemberHandle hTestExpr = ruleHandle
				.getMember( HighlightRule.TEST_EXPR_MEMBER );
		String oper = hOperator.getStringValue( );
		String value1 = hValue1.getStringValue( );
		String value2 = hValue2.getStringValue( );
		String testExpr = hTestExpr.getStringValue( );
		rule.setExpression( oper, value1, value2 );
		if ( testExpr != null && testExpr.length( ) > 0 )
		{
			rule.setTestExpression( testExpr );
		}
		else if ( ( defaultStr != null ) && defaultStr.length( ) > 0 )
		{
			rule.setTestExpression( defaultStr );
		}
		else
		{
			
			return null;
		}
		
		
		StyleDeclaration style = new StyleDeclaration( cssEngine );
		setupStyle( ruleHandle, style );