Browse Source

Changed bug when GroupFooter is added without Wizard

pull/15/head^2
Peter Forstmeier 15 years ago
parent
commit
566a235d02
  1. 5
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/GroupFooter.cs
  2. 22
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Collections/Collections.cs
  3. 12
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs
  4. 8
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs

5
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/GroupFooter.cs

@ -13,12 +13,13 @@ namespace ICSharpCode.Reports.Core @@ -13,12 +13,13 @@ namespace ICSharpCode.Reports.Core
/// <summary>
/// Description of BaseGroupeFooter.
/// </summary>
public class GroupFooter:GroupHeader
public class GroupFooter:BaseRowItem
{
public GroupFooter()
{
}
public bool PageBreakOnGroupChange { get; set; }
}
}

22
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Collections/Collections.cs

@ -147,15 +147,19 @@ namespace ICSharpCode.Reports.Core{ @@ -147,15 +147,19 @@ namespace ICSharpCode.Reports.Core{
}
#region Grouphandling
public bool IsGrouped
{
get {
return (this[0] is GroupHeader) ;
}
}
public Collection<GroupHeader> FindGroupHeader()
{
return new Collection<GroupHeader>(this.Items.OfType<GroupHeader>().ToList());
}
public Collection<GroupFooter> FindGroupFooter()
{
return new Collection<GroupFooter>(this.Items.OfType<GroupFooter>().ToList());
}
private Collection<BaseDataItem> CreateGroupedList ()
{
Collection<BaseDataItem> inheritedReportItems = null;

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

@ -138,7 +138,7 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -138,7 +138,7 @@ namespace ICSharpCode.Reports.Core.Exporter
protected void ConvertGroupFooter (ISimpleContainer container,ExporterCollection exporterCollection)
{
var footers = BaseConverter.FindGroupFooter(container);
var footers = container.Items.FindGroupFooter();
if (footers.Count > 0) {
Size rowSize = footers[0].Size;
@ -164,7 +164,8 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -164,7 +164,8 @@ namespace ICSharpCode.Reports.Core.Exporter
private static bool CheckPageBreakAfterGroupChange(ISimpleContainer container)
{
var groupedRows = BaseConverter.FindGroupHeader(container);
var groupedRows = container.Items.FindGroupHeader();
//var groupedRows = BaseConverter.FindGroupHeader(container);
if (groupedRows.Count > 0) {
var groupedRow = groupedRows[0];
return groupedRow.PageBreakOnGroupChange;
@ -172,18 +173,19 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -172,18 +173,19 @@ namespace ICSharpCode.Reports.Core.Exporter
return false;
}
/*
protected static Collection<GroupHeader> FindGroupHeader (ISimpleContainer container)
{
return new Collection<GroupHeader>(container.Items.OfType<GroupHeader>().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)
{

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

@ -63,8 +63,8 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -63,8 +63,8 @@ namespace ICSharpCode.Reports.Core.Exporter
DefaultLeftPosition = parent.Location.X;
Size groupSize = Size.Empty;
Size childSize = Size.Empty;
if (section.Items.IsGrouped)
if (section.Items.FindGroupHeader().Count > 0)
{
groupSize = section.Items[0].Size;
childSize = section.Items[1].Size;
@ -76,7 +76,7 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -76,7 +76,7 @@ namespace ICSharpCode.Reports.Core.Exporter
section.Size = this.SectionBounds.DetailSectionRectangle.Size;
// did we have GroupedItems at all
if (section.Items.IsGrouped)
if (section.Items.FindGroupHeader().Count > 0)
{
// GetType child navigator
IDataNavigator childNavigator = base.DataNavigator.GetChildNavigator;
@ -171,7 +171,7 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -171,7 +171,7 @@ namespace ICSharpCode.Reports.Core.Exporter
var retVal = Point.Empty;
var rowSize = Size.Empty;
ReportItemCollection groupCollection = null;
var groupedRows = BaseConverter.FindGroupHeader(section);
var groupedRows = section.Items.FindGroupHeader();
if (groupedRows.Count == 0) {
groupCollection = section.Items.ExtractGroupedColumns();
base.DataNavigator.Fill(groupCollection);

Loading…
Cancel
Save