Browse Source

GroupFooter in ListLayout Reports

pull/14/head
peterforstmeier 15 years ago
parent
commit
05ba7d604f
  1. 1
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/ReportLayout/AbstractLayout.cs
  2. 4
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseGroupeFooter.cs
  3. 10
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs
  4. 14
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs

1
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/ReportLayout/AbstractLayout.cs

@ -185,7 +185,6 @@ namespace ICSharpCode.Reports.Addin.ReportWizard @@ -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;
}

4
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseGroupeFooter.cs

@ -13,10 +13,12 @@ namespace ICSharpCode.Reports.Core @@ -13,10 +13,12 @@ namespace ICSharpCode.Reports.Core
/// <summary>
/// Description of BaseGroupeFooter.
/// </summary>
public class GroupFooter:BaseGroupItem
public class GroupFooter:BaseGroupedRow
{
public GroupFooter()
{
}
}
}

10
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs

@ -140,7 +140,7 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -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 @@ -149,12 +149,18 @@ namespace ICSharpCode.Reports.Core.Exporter
}
protected static Collection<BaseGroupedRow> FindGroups (ISimpleContainer container)
protected static Collection<BaseGroupedRow> FindGroupHeader (ISimpleContainer container)
{
return new Collection<BaseGroupedRow>(container.Items.OfType<BaseGroupedRow>().ToList());
}
protected static Collection<GroupFooter> FindGroupFooter (ISimpleContainer container)
{
return new Collection<GroupFooter>(container.Items.OfType<GroupFooter>().ToList());
}
protected virtual Point ForcePageBreak(ExporterCollection exporterCollection, BaseSection section)
{
BuildNewPage(exporterCollection,section);

14
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs

@ -117,6 +117,18 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -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 @@ -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);

Loading…
Cancel
Save