diff --git a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/BaseItems/BaseReportItem.cs b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/BaseItems/BaseReportItem.cs index 56a16462ee..6d1c889bd9 100644 --- a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/BaseItems/BaseReportItem.cs +++ b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/BaseItems/BaseReportItem.cs @@ -82,6 +82,9 @@ namespace ICSharpCode.Reports.Core { return new Rectangle(this.Parent.Location.X + this.Location.X , this.Location.Y + this.SectionOffset, this.Size.Width,this.Size.Height); +// return new Rectangle( this.Location.X , +// this.Location.Y + this.SectionOffset, +// this.Size.Width,this.Size.Height); } } 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 7bbd35cc70..23350ff1c5 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 @@ -172,7 +172,9 @@ namespace ICSharpCode.Reports.Core.Exporter this.exportItemsConverter.ParentLocation = exportContainer.StyleDecorator.Location; AdjustBackColor (container); + ExporterCollection clist = container.Items.ConvertAll (this.exportItemsConverter.ConvertToLineItem); + exportContainer.Items.AddRange(clist); list.Add(exportContainer); @@ -199,7 +201,7 @@ namespace ICSharpCode.Reports.Core.Exporter } - private static BaseRectangleItem CreateDebugItem (BaseReportItem item) + public static BaseRectangleItem CreateDebugItem (BaseReportItem item) { BaseRectangleItem debugRectangle = new BaseRectangleItem(); debugRectangle = new BaseRectangleItem(); @@ -283,7 +285,7 @@ namespace ICSharpCode.Reports.Core.Exporter private void EvaluateRecursive (IExpressionEvaluatorFacade evaluatorFassade,ExporterCollection items) { foreach (BaseExportColumn be in items) { - ExportContainer ec = be as ExportContainer; + IExportContainer ec = be as IExportContainer; if (ec != null) { if (ec.Items.Count > 0) { 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 602b46928e..a345471320 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 @@ -50,6 +50,8 @@ namespace ICSharpCode.Reports.Core.Exporter base.BaseConvert (myList,simpleContainer,parent.Location.X, new Point(base.SectionBounds.DetailStart.X,base.SectionBounds.DetailStart.Y)); + + return myList; } else { return this.ConvertDataRow(simpleContainer); @@ -83,8 +85,14 @@ namespace ICSharpCode.Reports.Core.Exporter currentPosition = new Point(base.SectionBounds.PageHeaderRectangle.X,base.SectionBounds.PageHeaderRectangle.Y); mylist.Clear(); } + + if (section.DrawBorder == true) { + BaseRectangleItem br = BasePager.CreateDebugItem (section); + BaseExportColumn bec = br.CreateExportColumn(); + bec.StyleDecorator.Location = section.Location; + mylist.Insert(0,bec); + } } - while (base.DataNavigator.MoveNext()); SectionBounds.ReportFooterRectangle = new Rectangle(SectionBounds.ReportFooterRectangle.Left, 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 f69801d5da..f451efa9ef 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 @@ -122,17 +122,27 @@ namespace ICSharpCode.Reports.Core.Exporter protected void BuildDetail (BaseSection section,IDataNavigator dataNavigator) { ExporterCollection convertedList = new ExporterCollection(); + + + + foreach (BaseReportItem item in section.Items) { IBaseConverter baseConverter = ConverterFactory.CreateConverter(item,dataNavigator, this.SinglePage,this.ExportItemsConverter, base.Layouter); - baseConverter.SectionRendering += OnSectionRendering; - baseConverter.Graphics = base.Graphics; - baseConverter.PageFull += new EventHandler(OnPageFull); - convertedList = baseConverter.Convert(section,item); - base.SinglePage.Items.AddRange(convertedList); - SetPageFull(); + if (baseConverter != null) { + + + baseConverter.SectionRendering += OnSectionRendering; + baseConverter.Graphics = base.Graphics; + baseConverter.PageFull += new EventHandler(OnPageFull); + + convertedList = baseConverter.Convert(section,item); + + base.SinglePage.Items.AddRange(convertedList); + SetPageFull(); + } } } diff --git a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportContainer.cs b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportContainer.cs index a12f909d23..b5d37b9ea8 100644 --- a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportContainer.cs +++ b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportContainer.cs @@ -6,6 +6,7 @@ // using System; +using System.Drawing; using iTextSharp.text.pdf; namespace ICSharpCode.Reports.Core.Exporter @@ -34,8 +35,12 @@ namespace ICSharpCode.Reports.Core.Exporter #region overrides - public override void DrawItem(System.Drawing.Graphics graphics) + public override void DrawItem(Graphics graphics) { + if (graphics == null) { + throw new ArgumentNullException("graphics"); + } + base.DrawItem(graphics); base.Decorate(graphics); } @@ -48,14 +53,7 @@ namespace ICSharpCode.Reports.Core.Exporter #endregion - public void AddLineItem(BaseExportColumn item) - { - if (item == null) { - throw new ArgumentNullException("item"); - } - this.items.Add(item); - } - + public ExporterCollection Items { get { if (this.items == null) { diff --git a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportText.cs b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportText.cs index c270cd5752..20bbdc8ccf 100644 --- a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportText.cs +++ b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportText.cs @@ -99,9 +99,7 @@ namespace ICSharpCode.Reports.Core.Exporter { public override void DrawItem(Graphics graphics) { - if (graphics == null) { - throw new ArgumentNullException("graphics"); - } + base.DrawItem(graphics); base.Decorate(graphics); TextDrawer.DrawString(graphics, this.text,this.StyleDecorator); diff --git a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/IExportContainer.cs b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/IExportContainer.cs index 8e7dd74860..89a01c1e87 100644 --- a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/IExportContainer.cs +++ b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/IExportContainer.cs @@ -14,7 +14,7 @@ namespace ICSharpCode.Reports.Core.Exporter { void DrawItem(System.Drawing.Graphics graphics); void DrawItem(PdfWriter pdfWriter, ICSharpCode.Reports.Core.Exporter.ExportRenderer.PdfUnitConverter converter); - void AddLineItem(BaseExportColumn item); +// void AddLineItem(BaseExportColumn item); ExporterCollection Items { get; } } } diff --git a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/PdfRenderer.cs b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/PdfRenderer.cs index ade2fbac5b..a257f3f54b 100644 --- a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/PdfRenderer.cs +++ b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/PdfRenderer.cs @@ -110,7 +110,7 @@ namespace ICSharpCode.Reports.Core.Exporter.ExportRenderer foreach (ICSharpCode.Reports.Core.Exporter.BaseExportColumn baseExportColumn in items) { if (baseExportColumn != null) { - ExportContainer container = baseExportColumn as ExportContainer; + IExportContainer container = baseExportColumn as ExportContainer; if (container == null) { baseExportColumn.DrawItem(this.pdfWriter,this.pdfUnitConverter); } else {