Bug 153488 Page Break - Page breaks are created for groups automatically
In the latest build, engine alyways creats a page break before the outermost group. Issues: 1) If i add a group with company logo and header, followed by a table (with groups). The output is confusing, a page break occurs between the grid and table. A better solution would be page break occurs before each group, except the first group. Current behavior PageBreakBefore = Always Better solution would be PageBreakBefore = Always but first 2) Looks like engine is automatically putting page breaks for groups. But when I click on the group definition i see the following values. PageBreakBefore - Auto PageBreakAfter - Auto // Auto means inserts a page break before the element if necesary. Suggested solution - When user click on new group dialog, BIRT designer by default sets the value PageBreakBefore = Always but first. This way it is less confusing to end users. Cons - Older reports will not have auto page breaks for groups.
model/org.eclipse.birt.report.model/src/org/eclipse/birt/report/model/writer/ModuleWriter.java
writeStructureList( obj, DataSet.RESULT_SET_HINTS_PROP );
		writeStructureList( obj, DataSet.COMPUTED_COLUMNS_PROP );
		writeStructureList( obj, DataSet.COLUMN_HINTS_PROP );
		writeStructureList( obj, DataSet.FILTER_PROP );
		CachedMetaData metadata = (CachedMetaData) obj.getLocalProperty(
				getModule( ), DataSet.CACHED_METADATA_PROP );
		if ( metadata != null )
		{
			
			writer.startElement( DesignSchemaConstants.STRUCTURE_TAG );
			writer.attribute( DesignElement.NAME_PROP,
					SimpleDataSet.CACHED_METADATA_PROP );
			writeStructureList( metadata, CachedMetaData.PARAMETERS_MEMBER );
			writeStructureList( metadata, CachedMetaData.RESULT_SET_MEMBER );
			writer.endElement( );
			
		}
	}
	/*
	 * (non-Javadoc)
	 * 
	 * @see org.eclipse.birt.report.model.elements.ElementVisitor#visitSimpleDataSet(org.eclipse.birt.report.model.elements.SimpleDataSet)
	 */
	public void visitSimpleDataSet( SimpleDataSet obj )
	{
		super.visitSimpleDataSet( obj );
		property( obj, SimpleDataSet.DATA_SOURCE_PROP );
		property( obj, SimpleDataSet.BEFORE_OPEN_METHOD );
		property( obj, SimpleDataSet.BEFORE_CLOSE_METHOD );
		property( obj, SimpleDataSet.ON_FETCH_METHOD );