GridHandle mainGrid = elementFactory.newGridItem( "main", 2, 3 );
GridHandle mainGrid = elementFactory.newGridItem( "main", 1, 3 );
	private void createBody( ) throws SemanticException	{		GridHandle mainGrid = elementFactory.newGridItem( "main", 2, 3 );//$NON-NLS-1$		mainGrid.setWidth( "100%" );//$NON-NLS-1$		reportDesignHandle.getBody( ).add( mainGrid );		// First Grid Row		RowHandle row1 = (RowHandle) mainGrid.getRows( ).get( 0 );		row1.setProperty( StyleHandle.BACKGROUND_COLOR_PROP, "#FEFBE9" );//$NON-NLS-1$		// Cell (1st Row)		CellHandle row1Cell = (CellHandle) row1.getCells( ).get( 0 );		row1Cell.setColumnSpan( 2 );		// Title label		LabelHandle label = elementFactory.newLabel( null );		label.setText( "Corporation Stock" );//$NON-NLS-1$		label.setProperty( StyleHandle.FONT_SIZE_PROP,				DesignChoiceConstants.FONT_SIZE_X_LARGE );		label.setProperty( StyleHandle.FONT_FAMILY_PROP, "Arial Black" );//$NON-NLS-1$		label.setProperty( StyleHandle.COLOR_PROP, "#6E6E6E" );//$NON-NLS-1$		label.setProperty( StyleHandle.PADDING_BOTTOM_PROP, "0.5in" );//$NON-NLS-1$		label.setProperty( StyleHandle.TEXT_ALIGN_PROP,				DesignChoiceConstants.TEXT_ALIGN_CENTER );		row1Cell.getContent( ).add( label );		row1.getCells( ).drop( 1 );		// Second Grid Row		RowHandle row2 = (RowHandle) mainGrid.getRows( ).get( 1 );		// 1st Cell (2nd Row)		CellHandle row2Cell1 = (CellHandle) row2.getCells( ).get( 0 );		row2Cell1.getContent( ).add( createStockChart( ) );		// 2nd Cell (2nd Row)		CellHandle row2Cell2 = (CellHandle) row2.getCells( ).get( 1 );		row2Cell2.setProperty( StyleHandle.VERTICAL_ALIGN_PROP,				DesignChoiceConstants.VERTICAL_ALIGN_TOP );		// Stock Grid		GridHandle grid1 = elementFactory.newGridItem( "stock", 2, 5 );//$NON-NLS-1$		grid1.setWidth( "100%" );//$NON-NLS-1$		RowHandle grid1Row = (RowHandle) grid1.getRows( ).get( 0 );		CellHandle cell = (CellHandle) grid1Row.getCells( ).get( 0 );		cell.setColumnSpan( 2 );		label = elementFactory.newLabel( null );		label.setText( "Weekly Price Summary" );//$NON-NLS-1$		label.setStyleName( "Text" );//$NON-NLS-1$		label.setProperty( StyleHandle.FONT_SIZE_PROP,				DesignChoiceConstants.FONT_SIZE_MEDIUM );		cell.getContent( ).add( label );		grid1Row.getCells( ).drop( 1 );		grid1Row = (RowHandle) grid1.getRows( ).get( 1 );		cell = (CellHandle) grid1Row.getCells( ).get( 0 );		cell.setStyleName( "Border" );//$NON-NLS-1$		label = elementFactory.newLabel( null );		label.setText( "High:" );//$NON-NLS-1$		label.setStyleName( "Text" );//$NON-NLS-1$		label.setProperty( StyleHandle.FONT_WEIGHT_PROP,				DesignChoiceConstants.FONT_WEIGHT_LIGHTER );		cell.getContent( ).add( label );		cell = (CellHandle) grid1Row.getCells( ).get( 1 );		cell.setStyleName( "Border" );//$NON-NLS-1$		cell.setProperty( StyleHandle.BACKGROUND_COLOR_PROP, "#FEFBE9" );//$NON-NLS-1$		DataItemHandle data = elementFactory.newDataItem( null );		data.setProperty( DataItemHandle.DATA_SET_PROP, "Data Set" );//$NON-NLS-1$		data.setValueExpr( "Total.max(row[\"High\"])" );//$NON-NLS-1$		data.setStyleName( "Text" );//$NON-NLS-1$		data.getPrivateStyle( ).setNumberFormatCategory(				DesignChoiceConstants.NUMBER_FORMAT_TYPE_CUSTOM );		data.getPrivateStyle( ).setNumberFormat( "$###,##0.00" );//$NON-NLS-1$		cell.getContent( ).add( data );		grid1Row = (RowHandle) grid1.getRows( ).get( 2 );		cell = (CellHandle) grid1Row.getCells( ).get( 0 );		cell.setStyleName( "Border" );//$NON-NLS-1$		label = elementFactory.newLabel( null );		label.setText( "Low:" );//$NON-NLS-1$		label.setStyleName( "Text" );//$NON-NLS-1$		label.setProperty( StyleHandle.FONT_WEIGHT_PROP,				DesignChoiceConstants.FONT_WEIGHT_LIGHTER );		cell.getContent( ).add( label );		cell = (CellHandle) grid1Row.getCells( ).get( 1 );		cell.setStyleName( "Border" );//$NON-NLS-1$		cell.setProperty( StyleHandle.BACKGROUND_COLOR_PROP, "#FEFBE9" );//$NON-NLS-1$		data = elementFactory.newDataItem( null );		data.setValueExpr( "Total.min(row[\"Low\"])" );//$NON-NLS-1$		data.setStyleName( "Text" );//$NON-NLS-1$		data.getPrivateStyle( ).setNumberFormatCategory(				DesignChoiceConstants.NUMBER_FORMAT_TYPE_CUSTOM );		data.getPrivateStyle( ).setNumberFormat( "$###,##0.00" );//$NON-NLS-1$		data.setProperty( DataItemHandle.DATA_SET_PROP, "Data Set" );//$NON-NLS-1$		cell.getContent( ).add( data );		grid1Row = (RowHandle) grid1.getRows( ).get( 3 );		cell = (CellHandle) grid1Row.getCells( ).get( 0 );		cell.setStyleName( "Border" );//$NON-NLS-1$		label = elementFactory.newLabel( null );		label.setText( "Ave. Open" );//$NON-NLS-1$		label.setStyleName( "Text" );//$NON-NLS-1$		label.setProperty( StyleHandle.FONT_WEIGHT_PROP,				DesignChoiceConstants.FONT_WEIGHT_LIGHTER );		cell.getContent( ).add( label );		cell = (CellHandle) grid1Row.getCells( ).get( 1 );		cell.setStyleName( "Border" );//$NON-NLS-1$		cell.setProperty( StyleHandle.BACKGROUND_COLOR_PROP, "#FEFBE9" );//$NON-NLS-1$		data = elementFactory.newDataItem( null );		data.setValueExpr( "Total.Ave(row[\"Open\"])" );//$NON-NLS-1$		data.setStyleName( "Text" );//$NON-NLS-1$		data.getPrivateStyle( ).setNumberFormatCategory(				DesignChoiceConstants.NUMBER_FORMAT_TYPE_CUSTOM );		data.getPrivateStyle( ).setNumberFormat( "$###,##0.00" );//$NON-NLS-1$		data.setProperty( DataItemHandle.DATA_SET_PROP, "Data Set" );//$NON-NLS-1$		cell.getContent( ).add( data );		grid1Row = (RowHandle) grid1.getRows( ).get( 4 );		cell = (CellHandle) grid1Row.getCells( ).get( 0 );		cell.setStyleName( "Border" );//$NON-NLS-1$		label = elementFactory.newLabel( null );		label.setText( "Ave. Close" );//$NON-NLS-1$		label.setStyleName( "Text" );//$NON-NLS-1$		label.setProperty( StyleHandle.FONT_WEIGHT_PROP,				DesignChoiceConstants.FONT_WEIGHT_LIGHTER );		cell.getContent( ).add( label );		cell = (CellHandle) grid1Row.getCells( ).get( 1 );		cell.setStyleName( "Border" );//$NON-NLS-1$		cell.setProperty( StyleHandle.BACKGROUND_COLOR_PROP, "#FEFBE9" );//$NON-NLS-1$		data = elementFactory.newDataItem( null );		data.setValueExpr( "Total.Ave(row[\"Close\"])" );//$NON-NLS-1$		data.setStyleName( "Text" );//$NON-NLS-1$		data.getPrivateStyle( ).setNumberFormatCategory(				DesignChoiceConstants.NUMBER_FORMAT_TYPE_CUSTOM );		data.getPrivateStyle( ).setNumberFormat( "$###,##0.00" );//$NON-NLS-1$		data.setProperty( DataItemHandle.DATA_SET_PROP, "Data Set" );//$NON-NLS-1$		cell.getContent( ).add( data );		row2Cell2.getContent( ).add( grid1 );		// Third Grid Row		RowHandle row3 = (RowHandle) mainGrid.getRows( ).get( 2 );		// 1st Cell (3nd Row)		CellHandle row3Cell1 = (CellHandle) row3.getCells( ).get( 0 );		row3Cell1.getContent( ).add( createVolumeChart( ) );		// 2nd Cell (3nd Row)		CellHandle row3Cell2 = (CellHandle) row3.getCells( ).get( 1 );		row3Cell2.setProperty( StyleHandle.VERTICAL_ALIGN_PROP,				DesignChoiceConstants.VERTICAL_ALIGN_TOP );		// Volume Grid		GridHandle grid2 = elementFactory.newGridItem( "volume", 2, 5 );//$NON-NLS-1$		grid2.setWidth( "100%" );//$NON-NLS-1$		RowHandle grid2Row = (RowHandle) grid2.getRows( ).get( 0 );		cell = (CellHandle) grid2Row.getCells( ).get( 0 );		cell.setColumnSpan( 2 );		label = elementFactory.newLabel( null );		label.setText( "Weekly Volume Summary" );//$NON-NLS-1$		label.setStyleName( "Text" );//$NON-NLS-1$		label.setProperty( StyleHandle.FONT_SIZE_PROP,				DesignChoiceConstants.FONT_SIZE_MEDIUM );		cell.getContent( ).add( label );		grid2Row.getCells( ).drop( 1 );		grid2Row = (RowHandle) grid2.getRows( ).get( 1 );		cell = (CellHandle) grid2Row.getCells( ).get( 0 );		cell.setStyleName( "Border" );//$NON-NLS-1$		label = elementFactory.newLabel( null );		label.setText( "High:" );//$NON-NLS-1$		label.setStyleName( "Text" );//$NON-NLS-1$		label.setProperty( StyleHandle.FONT_WEIGHT_PROP,				DesignChoiceConstants.FONT_WEIGHT_LIGHTER );		cell.getContent( ).add( label );		cell = (CellHandle) grid2Row.getCells( ).get( 1 );		cell.setStyleName( "Border" );//$NON-NLS-1$		cell.setProperty( StyleHandle.BACKGROUND_COLOR_PROP, "#FEFBE9" );//$NON-NLS-1$		data = elementFactory.newDataItem( null );		data.setValueExpr( "Total.max(row[\"Volume\"])" );//$NON-NLS-1$		data.setStyleName( "Text" );//$NON-NLS-1$		data.getPrivateStyle( ).setNumberFormatCategory(				DesignChoiceConstants.NUMBER_FORMAT_TYPE_CUSTOM );		data.getPrivateStyle( ).setNumberFormat( "###,###" );//$NON-NLS-1$		data.setProperty( DataItemHandle.DATA_SET_PROP, "Data Set" );//$NON-NLS-1$		cell.getContent( ).add( data );		grid2Row = (RowHandle) grid2.getRows( ).get( 2 );		cell = (CellHandle) grid2Row.getCells( ).get( 0 );		cell.setStyleName( "Border" );//$NON-NLS-1$		label = elementFactory.newLabel( null );		label.setText( "Low:" );//$NON-NLS-1$		label.setStyleName( "Text" );//$NON-NLS-1$		label.setProperty( StyleHandle.FONT_WEIGHT_PROP,				DesignChoiceConstants.FONT_WEIGHT_LIGHTER );		cell.getContent( ).add( label );		cell = (CellHandle) grid2Row.getCells( ).get( 1 );		cell.setStyleName( "Border" );//$NON-NLS-1$		cell.setProperty( StyleHandle.BACKGROUND_COLOR_PROP, "#FEFBE9" );//$NON-NLS-1$		data = elementFactory.newDataItem( null );		data.setValueExpr( "Total.min(row[\"Volume\"])" );//$NON-NLS-1$		data.setStyleName( "Text" );//$NON-NLS-1$		data.getPrivateStyle( ).setNumberFormatCategory(				DesignChoiceConstants.NUMBER_FORMAT_TYPE_CUSTOM );		data.getPrivateStyle( ).setNumberFormat( "###,###" );//$NON-NLS-1$		data.setProperty( DataItemHandle.DATA_SET_PROP, "Data Set" );//$NON-NLS-1$		cell.getContent( ).add( data );		grid2Row = (RowHandle) grid2.getRows( ).get( 3 );		cell = (CellHandle) grid2Row.getCells( ).get( 0 );		cell.setStyleName( "Border" );//$NON-NLS-1$		label = elementFactory.newLabel( null );		label.setText( "Total Volume:" );//$NON-NLS-1$		label.setStyleName( "Text" );//$NON-NLS-1$		label.setProperty( StyleHandle.FONT_WEIGHT_PROP,				DesignChoiceConstants.FONT_WEIGHT_LIGHTER );		cell.getContent( ).add( label );		cell = (CellHandle) grid2Row.getCells( ).get( 1 );		cell.setStyleName( "Border" );//$NON-NLS-1$		cell.setProperty( StyleHandle.BACKGROUND_COLOR_PROP, "#FEFBE9" );//$NON-NLS-1$		data = elementFactory.newDataItem( null );		data.setValueExpr( "Total.sum(row[\"Volume\"])" );//$NON-NLS-1$		data.setStyleName( "Text" );//$NON-NLS-1$		data.getPrivateStyle( ).setNumberFormatCategory(				DesignChoiceConstants.NUMBER_FORMAT_TYPE_CUSTOM );		data.getPrivateStyle( ).setNumberFormat( "###,###" );//$NON-NLS-1$		data.setProperty( DataItemHandle.DATA_SET_PROP, "Data Set" );//$NON-NLS-1$		cell.getContent( ).add( data );		grid2Row = (RowHandle) grid2.getRows( ).get( 4 );		cell = (CellHandle) grid2Row.getCells( ).get( 0 );		cell.setStyleName( "Border" );//$NON-NLS-1$		label = elementFactory.newLabel( null );		label.setText( "Ave Volume:" );//$NON-NLS-1$		label.setStyleName( "Text" );//$NON-NLS-1$		label.setProperty( StyleHandle.FONT_WEIGHT_PROP,				DesignChoiceConstants.FONT_WEIGHT_LIGHTER );		cell.getContent( ).add( label );		cell = (CellHandle) grid2Row.getCells( ).get( 1 );		cell.setStyleName( "Border" );//$NON-NLS-1$		cell.setProperty( StyleHandle.BACKGROUND_COLOR_PROP, "#FEFBE9" );//$NON-NLS-1$		data = elementFactory.newDataItem( null );		data.setValueExpr( "Total.ave(row[\"Volume\"])" );//$NON-NLS-1$		data.setStyleName( "Text" );//$NON-NLS-1$		data.getPrivateStyle( ).setNumberFormatCategory(				DesignChoiceConstants.NUMBER_FORMAT_TYPE_CUSTOM );		data.getPrivateStyle( ).setNumberFormat( "###,###" );//$NON-NLS-1$		data.setProperty( DataItemHandle.DATA_SET_PROP, "Data Set" );//$NON-NLS-1$		cell.getContent( ).add( data );		row3Cell2.getContent( ).add( grid2 );	}