diff --git a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/BaseClasses/SinglePage.cs b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/BaseClasses/SinglePage.cs index ab9e125dd9..107ea169bc 100644 --- a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/BaseClasses/SinglePage.cs +++ b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/BaseClasses/SinglePage.cs @@ -40,6 +40,7 @@ namespace ICSharpCode.Reports.Core throw new ArgumentNullException("reportModel"); } + Console.WriteLine("CalculatePageBounds for {0}",this.PageNumber); sectionBounds.MeasureReportHeader(reportModel.ReportHeader); //PageHeader @@ -54,7 +55,10 @@ namespace ICSharpCode.Reports.Core this.sectionBounds.MeasureDetailArea(); - this.sectionBounds.DetailSectionRectangle = new System.Drawing.Rectangle(reportModel.DetailSection.Location,reportModel.DetailSection.Size); + this.sectionBounds.DetailSectionRectangle = new System.Drawing.Rectangle(reportModel.DetailSection.Location.X,sectionBounds.DetailStart.Y, + reportModel.DetailSection.Size.Width, + reportModel.DetailSection.Size.Height); + } @@ -100,7 +104,7 @@ namespace ICSharpCode.Reports.Core } return parameterHash; } - set { parameterHash = value; } + set {this.parameterHash = value;} } diff --git a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs index fbc9513f8d..75191b998d 100644 --- a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs +++ b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs @@ -111,6 +111,8 @@ namespace ICSharpCode.Reports.Core.Exporter ExportContainer exportContainer = this.exportItemsConverter.ConvertToContainer(container); this.exportItemsConverter.ParentLocation = exportContainer.StyleDecorator.Location; + AdjustBackColor (container); + ExporterCollection clist = container.Items.ConvertAll (this.exportItemsConverter.ConvertToLineItem) as ExporterCollection; @@ -135,7 +137,14 @@ namespace ICSharpCode.Reports.Core.Exporter } } - + private void AdjustBackColor (IContainerItem container) + { + BaseReportItem parent = container as BaseReportItem; + foreach (BaseReportItem item in container.Items) + { + item.BackColor = parent.BackColor; + } + } #endregion diff --git a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/Converters/RowConverter.cs b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/Converters/RowConverter.cs index 2ed72b14ce..1cbddf3c9d 100644 --- a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/Converters/RowConverter.cs +++ b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/Converters/RowConverter.cs @@ -57,6 +57,7 @@ namespace ICSharpCode.Reports.Core.Exporter BaseSection section = parent as BaseSection; Size containerSize = new Size (section.Items[0].Size.Width,section.Items[0].Size.Height); IContainerItem row = section.Items[0] as IContainerItem; + do { section.Location = new Point(section.Location.X,section.SectionOffset ); base.DataNavigator.Fill(row.Items); @@ -73,8 +74,7 @@ namespace ICSharpCode.Reports.Core.Exporter if (base.IsPageFull(r)) { base.FirePageFull(mylist); - section.Location = new Point(section.Location.X,SectionBounds.DetailStart.Y ); - section.SectionOffset = SectionBounds.DetailStart.Y; + section.SectionOffset = base.SinglePage.SectionBounds.PageHeaderRectangle.Location.Y; mylist.Clear(); } section.Items[0].Size = containerSize; diff --git a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs index ba73b6c5f8..8584f37e80 100644 --- a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs +++ b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs @@ -52,6 +52,7 @@ namespace ICSharpCode.Reports.Core.Exporter protected override void BuildNewPage () { + Console.WriteLine("BuildNewPage"); base.BuildNewPage(); if (this.dataNavigator != null) { @@ -98,7 +99,6 @@ namespace ICSharpCode.Reports.Core.Exporter base.ReportModel.PageHeader.SectionOffset = base.AdjustPageHeader(); base.ConvertSection (base.ReportModel.PageHeader, this.dataNavigator.CurrentRow ); - SectionBounds.MeasurePageHeader(base.ReportModel.PageHeader); } diff --git a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs index 8a281a7ca9..95f5a71a98 100644 --- a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs +++ b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs @@ -268,7 +268,7 @@ namespace ICSharpCode.Reports.Core.ReportViewer #region Events from worker private void PushPrinting (object sender, SectionRenderEventArgs e ) { - Console.WriteLine ("ReportViewer - SectionRenderEventargs from <{0}> with {1} items ",e.Section.Name,e.Section.Items.Count); +// Console.WriteLine ("ReportViewer - SectionRenderEventargs from <{0}> with {1} items ",e.Section.Name,e.Section.Items.Count); EventHelper.Raise(SectionRendering,this,e); }