Browse Source

after page break detailarea sips

pull/15/head^2
peterforstmeier 14 years ago
parent
commit
0db88b4c06
  1. 4
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SectionBounds.cs
  2. 17
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs
  3. 11
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs
  4. 13
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs
  5. 1
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/GlobalValues.cs

4
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SectionBounds.cs

@ -121,6 +121,7 @@ namespace ICSharpCode.Reports.Core.BaseClasses @@ -121,6 +121,7 @@ namespace ICSharpCode.Reports.Core.BaseClasses
section.SectionOffset,
this.marginBounds.Width,
s.Height);
Console.WriteLine("\tSectionBounds pageheader {0} - loca {1}",pageHeaderRectangle,pageHeaderRectangle.Location);
}
@ -205,6 +206,9 @@ namespace ICSharpCode.Reports.Core.BaseClasses @@ -205,6 +206,9 @@ namespace ICSharpCode.Reports.Core.BaseClasses
public Rectangle DetailArea
{
get {
Console.WriteLine("\tSectionBound Detailarea location {0}",new Rectangle (new Point (pageHeaderRectangle.X,pageHeaderRectangle.Bottom + GlobalValues.GapBetweenContainer),
new Size(pageFooterRectangle.Location.X,pageFooterRectangle.Top - GlobalValues.GapBetweenContainer)).Location);
return new Rectangle (new Point (pageHeaderRectangle.X,pageHeaderRectangle.Bottom + GlobalValues.GapBetweenContainer),
new Size(pageFooterRectangle.Location.X,pageFooterRectangle.Top - GlobalValues.GapBetweenContainer));
}

17
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs

@ -84,7 +84,12 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -84,7 +84,12 @@ namespace ICSharpCode.Reports.Core.Exporter
var convertedSection = new ExporterCollection();
Offset = new Point(section.Location.X,section.SectionOffset);
Point startOffset = Offset;
if (section.Items.Count > 0) {
Console.WriteLine ("start ConvertSection {0}- {1}",section.Name,section.Size);
if (section.Items.Count > 0)
{
Size sectionSize = section.Size;
section.Items.SortByLocation();
IExpressionEvaluatorFacade evaluator = EvaluationHelper.CreateEvaluator(this.SinglePage,this.SinglePage.IDataNavigator);
@ -101,7 +106,7 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -101,7 +106,7 @@ namespace ICSharpCode.Reports.Core.Exporter
ISimpleContainer simpleContainer = item as ISimpleContainer;
Offset = new Point(Offset.X,Offset.Y + gapCalculator.GapBetweenItems[i] );
if (simpleContainer != null)
{
EvaluationHelper.EvaluateReportItems(evaluator,simpleContainer.Items);
@ -114,19 +119,23 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -114,19 +119,23 @@ namespace ICSharpCode.Reports.Core.Exporter
Rectangle rsec = new Rectangle(section.Location,section.Size);
Rectangle ro = new Rectangle(section.Location,simpleContainer.Size);
if (!rsec.Contains(ro)) {
Console.WriteLine ("Update Size");
section.Size = new Size(section.Size.Width,Offset.Y - startOffset.Y );
}
}
else
{
var converteditem = ExportHelper.ConvertLineItem(item,Offset);
convertedSection.Add(converteditem);
// Offset = new Point (Offset.X,Offset.Y + item.Size.Height);
convertedSection.Add(converteditem );
}
i ++;
}
Offset = new Point (Offset.X,Offset.Y + gapCalculator.LastGap);
// section.Size = sectionSize;
}
Console.WriteLine ("leave ConvertSection {0}",section.Size);
Console.WriteLine();
return convertedSection;
}

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

@ -56,11 +56,10 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -56,11 +56,10 @@ namespace ICSharpCode.Reports.Core.Exporter
private ExporterCollection ConvertDataRow (ISimpleContainer simpleContainer)
{
ExporterCollection exporterCollection = new ExporterCollection();
// base.CurrentPosition = new Point(base.SectionBounds.DetailStart.X,base.SectionBounds.DetailStart.Y);
base.CurrentPosition = base.SectionBounds.DetailArea.Location;
// base.CurrentPosition = new Point (base.CurrentPosition.X,base.CurrentPosition.Y + 20);
Console.WriteLine("Convertdatarow start {0}",base.CurrentPosition);
BaseSection section = parent as BaseSection;
DefaultLeftPosition = parent.Location.X;
@ -165,10 +164,14 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -165,10 +164,14 @@ namespace ICSharpCode.Reports.Core.Exporter
{
var r = base.ReportModel;
base.SectionBounds.CalculatePageBounds(r);
return new Point(base.SectionBounds.DetailArea.X,base.SectionBounds.PageHeaderRectangle.Bottom + 1);
var rr = new Point(base.SectionBounds.DetailArea.X,base.SectionBounds.PageHeaderRectangle.Bottom + 1);
var p = base.SectionBounds.DetailArea.Location;
Console.WriteLine ("PageBreak {0} - detailareaa {1}",rr,p);
Console.WriteLine("-----------------");
return base.SectionBounds.DetailArea.Location;
}
private Point ConvertGroupHeader(ExporterCollection exportList,BaseSection section,Point offset)
{
var retVal = Point.Empty;

13
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs

@ -79,12 +79,19 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -79,12 +79,19 @@ namespace ICSharpCode.Reports.Core.Exporter
protected override void BuildPageHeader ()
{
base.DebugShowSections();
// base.DebugShowSections();
Console.WriteLine();
Console.WriteLine ("start BuildPageHeader DetailArea.Location {0} - offset {1}",SectionBounds.DetailArea.Location,base.Offset);
base.SectionBounds.CalculatePageBounds(base.ReportModel);
ConvertSectionInternal (base.ReportModel.PageHeader);
base.ReportModel.PageHeader.Size = new Size(base.ReportModel.PageHeader.Size.Width,base.Offset.Y - base.ReportModel.PageHeader.SectionOffset);
Size s = base.ReportModel.PageHeader.Size;
// base.ReportModel.PageHeader.Size = new Size(base.ReportModel.PageHeader.Size.Width,base.Offset.Y - base.ReportModel.PageHeader.SectionOffset);
s = base.ReportModel.PageHeader.Size;
base.SectionBounds.CalculatePageBounds(base.ReportModel);
base.DebugShowSections();
Console.WriteLine ("end BuildPageHeader DetailArea.Location {0} - offset {1}",SectionBounds.DetailArea.Location,base.Offset);
// base.DebugShowSections();
Console.WriteLine();
}

1
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/GlobalValues.cs

@ -29,7 +29,6 @@ namespace ICSharpCode.Reports.Core.Globals @@ -29,7 +29,6 @@ namespace ICSharpCode.Reports.Core.Globals
private static string reportFileName = "Report1";
private const string unbound = "unbound";
private const string tableName = "Table";
private const int enlargeControl = 5;
private const int defaultZoomfactor = 1;
private const int gapBetweenRows = 1;

Loading…
Cancel
Save