diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/ReportLayout/AbstractLayout.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/ReportLayout/AbstractLayout.cs index e4b839d24b..d2c5751ee8 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/ReportLayout/AbstractLayout.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/ReportLayout/AbstractLayout.cs @@ -185,7 +185,6 @@ namespace ICSharpCode.Reports.Addin.ReportWizard ICSharpCode.Reports.Core.GroupFooter groupFooter = new ICSharpCode.Reports.Core.GroupFooter(); groupFooter.Location = footerLocation; groupFooter.Size = new Size (300,30); -// groupFooter.Items.Add(dataItem); return groupFooter; } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseGroupeFooter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseGroupeFooter.cs index a8b1fae0b3..c76282de4a 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseGroupeFooter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseGroupeFooter.cs @@ -13,10 +13,12 @@ namespace ICSharpCode.Reports.Core /// /// Description of BaseGroupeFooter. /// - public class GroupFooter:BaseGroupItem + public class GroupFooter:BaseGroupedRow { + public GroupFooter() { } + } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs index 545828d403..3617833425 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs @@ -140,7 +140,7 @@ namespace ICSharpCode.Reports.Core.Exporter protected bool PageBreakAfterGroupChange(ISimpleContainer container) { - var groupedRows = BaseConverter.FindGroups(container); + var groupedRows = BaseConverter.FindGroupHeader(container); if (groupedRows.Count > 0) { var groupedRow = groupedRows[0]; return groupedRow.PageBreakOnGroupChange; @@ -149,12 +149,18 @@ namespace ICSharpCode.Reports.Core.Exporter } - protected static Collection FindGroups (ISimpleContainer container) + protected static Collection FindGroupHeader (ISimpleContainer container) { return new Collection(container.Items.OfType().ToList()); } + protected static Collection FindGroupFooter (ISimpleContainer container) + { + return new Collection(container.Items.OfType().ToList()); + } + + protected virtual Point ForcePageBreak(ExporterCollection exporterCollection, BaseSection section) { BuildNewPage(exporterCollection,section); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs index 20efb8041e..296dc620be 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs @@ -117,6 +117,18 @@ namespace ICSharpCode.Reports.Core.Exporter } while ( childNavigator.MoveNext()); + // GroupFooter + + var footers = BaseConverter.FindGroupFooter(section); + if (footers.Count > 0) { +// base.FireGroupHeaderRendering(groupedRows[0]); + Size rowSize = footers[0].Size; + base.CurrentPosition = ConvertStandardRow(exporterCollection,section,(ISimpleContainer)footers[0],defaultLeftPos,base.CurrentPosition); + footers[0].Size = rowSize; + } + + + if (PageBreakAfterGroupChange(section) ) { if ( base.DataNavigator.HasMoreData) @@ -177,7 +189,7 @@ namespace ICSharpCode.Reports.Core.Exporter var retVal = Point.Empty; var rowSize = Size.Empty; ReportItemCollection groupCollection = null; - var groupedRows = BaseConverter.FindGroups(section); + var groupedRows = BaseConverter.FindGroupHeader(section); if (groupedRows.Count == 0) { groupCollection = section.Items.ExtractGroupedColumns(); base.DataNavigator.Fill(groupCollection);