diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj index d4c9df244b..6dd1ea06d5 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj @@ -327,12 +327,6 @@ - - UserControl - - - Project\ReportViewer.cs - @@ -344,6 +338,12 @@ + + UserControl + + + ReportViewer.cs + @@ -354,8 +354,7 @@ ParameterDialog.cs - ReportViewer.Designer.cs - ResXFileCodeGenerator + ReportViewer.cs diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/Layouter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/Layouter.cs index 1e29b28e4b..857c44b5b5 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/Layouter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/Layouter.cs @@ -106,7 +106,8 @@ namespace ICSharpCode.Reports.Core.BaseClasses.Printing canGrowShrinkCollection.First().Size.Width, canGrowShrinkCollection.First().Size.Height); - foreach (BaseReportItem elemToLayout in canGrowShrinkCollection) { + foreach (BaseTextItem elemToLayout in canGrowShrinkCollection) { + Console.WriteLine("ELEMTEXT {0}",elemToLayout.Text); Size textSize = MeasurementService.MeasureReportItem (graphics,elemToLayout); elemToLayout.Size = new Size(elemToLayout.Size.Width,textSize.Height); rec = Rectangle.Union(rec,new Rectangle(elemToLayout.Location,elemToLayout.Size)); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs index 1d7d0d2271..637b77e14e 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs @@ -92,28 +92,49 @@ namespace ICSharpCode.Reports.Core.Exporter PrintHelper.AdjustParent((BaseSection)section,section.Items); - ExporterCollection list = new ExporterCollection(); + var list = new ExporterCollection(); if (section.Items.Count > 0) { - Point offset = new Point(section.Location.X,section.SectionOffset); - + section.Items.SortByLocation(); + + var offset = new Point(section.Location.X,section.SectionOffset); + IExpressionEvaluatorFacade f = EvaluationHelper.CreateEvaluator(this.SinglePage,this.SinglePage.IDataNavigator); + Rectangle desiredRectangle = LayoutHelper.FixSectionLayout(this.Graphics,section); Setlayout( desiredRectangle, section); foreach (BaseReportItem item in section.Items) { - ISimpleContainer container = item as ISimpleContainer; + ISimpleContainer simpleContainer = item as ISimpleContainer; - if (container != null) { - ExportContainer exportContainer = StandardPrinter.ConvertToContainer(container,offset); - - ExporterCollection clist = StandardPrinter.ConvertPlainCollection(container.Items,exportContainer.StyleDecorator.Location); + if (simpleContainer != null) + { + foreach (BaseTextItem v in simpleContainer.Items) + { + string ss = f.Evaluate(v.Text); + v.Text = ss; + } + Size s = simpleContainer.Size; + var l = (ILayouter)ServiceContainer.GetService(typeof(ILayouter)); + LayoutHelper.SetLayoutForRow(Graphics,l, simpleContainer); + + ExportContainer exportContainer = StandardPrinter.ConvertToContainer(simpleContainer,offset); + s = simpleContainer.Size; + + ExporterCollection clist = StandardPrinter.ConvertPlainCollection(simpleContainer.Items,exportContainer.StyleDecorator.Location); exportContainer.Items.AddRange(clist); list.Add(exportContainer); - + offset = new Point(offset.X,offset.Y + simpleContainer.Size.Height + 4* GlobalValues.GapBetweenContainer); + + foreach (ExportText VARIABLE in clist) + { + Console.WriteLine("{0} - {1}",VARIABLE.Text,VARIABLE.StyleDecorator.Location); + } + Console.WriteLine("......."); + } else { list = StandardPrinter.ConvertPlainCollection(section.Items,offset); } @@ -273,8 +294,6 @@ namespace ICSharpCode.Reports.Core.Exporter protected Graphics Graphics {get; private set;} - //public ILayouter Layouter {get; private set;} - public IReportModel ReportModel {get;set;} protected ExporterPage SinglePage {get;set;} diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs index ff0b16c833..b6cd1c0dd8 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs @@ -82,9 +82,9 @@ namespace ICSharpCode.Reports.Core.Exporter IDataNavigator childNavigator = base.DataNavigator.GetChildNavigator; base.Evaluator.SinglePage.IDataNavigator = childNavigator; - Console.WriteLine("Header start {0}",base.CurrentPosition); + //Console.WriteLine("Header start {0}",base.CurrentPosition); base.CurrentPosition = ConvertGroupHeader(exporterCollection,section,base.CurrentPosition); - Console.WriteLine("Header end {0}",base.CurrentPosition); + //Console.WriteLine("Header end {0}",base.CurrentPosition); section.Size = base.RestoreSectionSize; section.Items[0].Size = groupSize; section.Items[1].Size = childSize; @@ -95,7 +95,7 @@ namespace ICSharpCode.Reports.Core.Exporter //Convert children if (childNavigator != null) { StandardPrinter.AdjustBackColor(simpleContainer,GlobalValues.DefaultBackColor); - Console.WriteLine("child start {0}",base.CurrentPosition); + //Console.WriteLine("child start {0}",base.CurrentPosition); do { section.Size = base.RestoreSectionSize; @@ -109,7 +109,7 @@ namespace ICSharpCode.Reports.Core.Exporter CheckForPageBreak(section,exporterCollection); } while ( childNavigator.MoveNext()); - Console.WriteLine("child end {0}",base.CurrentPosition); + //Console.WriteLine("child end {0}",base.CurrentPosition); // GroupFooter base.ConvertGroupFooter(section,exporterCollection); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs index 8310a1b130..0d3f84034d 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs @@ -7,6 +7,7 @@ using ICSharpCode.Reports.Core.BaseClasses.Printing; using ICSharpCode.Reports.Core.Events; using ICSharpCode.Reports.Core.Globals; using ICSharpCode.Reports.Core.Interfaces; +using ICSharpCode.Reports.Expressions.ReportingLanguage; namespace ICSharpCode.Reports.Core.Exporter { @@ -77,6 +78,7 @@ namespace ICSharpCode.Reports.Core.Exporter protected override void BuildPageHeader () { base.ReportModel.PageHeader.SectionOffset = base.AdjustPageHeader(); + ExporterCollection convertedList = base.ConvertSection (base.ReportModel.PageHeader,this.dataNavigator.CurrentRow); base.SectionBounds.MeasurePageHeader(base.ReportModel.PageHeader); base.SinglePage.Items.AddRange(convertedList); @@ -186,6 +188,7 @@ namespace ICSharpCode.Reports.Core.Exporter { this.dataNavigator = this.dataManager.GetNavigator; this.BuildNewPage(); + this.SinglePage.IDataNavigator = this.dataNavigator; this.dataNavigator.MoveNext(); BaseSection section = base.ReportModel.DetailSection; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/EvaluationHelper.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/EvaluationHelper.cs index 947bdb547d..57ec0a0e62 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/EvaluationHelper.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/EvaluationHelper.cs @@ -31,9 +31,11 @@ namespace ICSharpCode.Reports.Expressions.ReportingLanguage throw new ArgumentNullException("singlePage"); } + /* if (dataNavigator == null) { throw new ArgumentNullException("dataNavigator"); } + * */ singlePage.IDataNavigator = dataNavigator; IExpressionEvaluatorFacade evaluatorFacade = new ExpressionEvaluatorFacade(singlePage); return evaluatorFacade; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs index 4dca5c147f..55bdd58e66 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs @@ -224,7 +224,7 @@ namespace ICSharpCode.Reports.Core.ReportViewer private void GroupHeaderRendering (object sender, GroupHeaderEventArgs ghea) { - Console.WriteLine("ReportViewer - GroupHeaderRendering :"); +// Console.WriteLine("ReportViewer - GroupHeaderRendering :"); // BaseGroupedRow v = ghea.GroupHeader; // v.BackColor = System.Drawing.Color.Red; } @@ -233,7 +233,7 @@ namespace ICSharpCode.Reports.Core.ReportViewer private void GroupFooterRendering ( object sender, GroupFooterEventArgs gfea) { // Console.WriteLine(); - Console.WriteLine("ReportViewer - GroupFooterRendering :"); +// Console.WriteLine("ReportViewer - GroupFooterRendering :"); // var v = gfea.GroupFooter; // v.BackColor = System.Drawing.Color.Red; // BaseTextItem i = (BaseTextItem)v.Items[0]; @@ -243,7 +243,7 @@ namespace ICSharpCode.Reports.Core.ReportViewer private void RowRendering (object sender,RowRenderEventArgs rrea) { - Console.WriteLine("ReportViewer - RowRendering :"); + //Console.WriteLine("ReportViewer - RowRendering :"); } #endregion