diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SectionBounds.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SectionBounds.cs
index 12757334a3..5f5d4ec00d 100644
--- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SectionBounds.cs
+++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SectionBounds.cs
@@ -38,9 +38,9 @@ namespace ICSharpCode.Reports.Core.BaseClasses
bool firstPage;
bool landscape;
-// int gap = 1;
Rectangle printableArea;
+
#region Constructor
@@ -103,20 +103,20 @@ namespace ICSharpCode.Reports.Core.BaseClasses
}
- //Test
- public void MeasurePageFooter (IReportItem section)
+
+ public void MeasurePageFooter (IReportItem section)
{
if (section == null) {
throw new ArgumentNullException("section");
}
-
this.pageFooterRectangle = new Rectangle(this.printableArea.Location.X,
this.marginBounds.Bottom - section.Size.Height,
this.marginBounds.Width,
section.Size.Height);
-
+
}
+
//Test
public void MeasureReportFooter (IReportItem section)
{
@@ -224,18 +224,7 @@ namespace ICSharpCode.Reports.Core.BaseClasses
}
}
- ///
- /// gap between two Sections
- ///
-
-
-// public int Gap
-// {
-// get {
-// return gap;
-// }
-// }
-
+
public Rectangle DetailSectionRectangle {get;set;}
diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SinglePage.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SinglePage.cs
index e9e60a38fc..0002bd51a1 100644
--- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SinglePage.cs
+++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/SinglePage.cs
@@ -37,15 +37,10 @@ namespace ICSharpCode.Reports.Core.BaseClasses
}
sectionBounds.MeasureReportHeader(reportModel.ReportHeader);
-
- //PageHeader
this.sectionBounds.MeasurePageHeader(reportModel.PageHeader);
-
- //PageFooter
+
this.sectionBounds.MeasurePageFooter(reportModel.PageFooter);
- //ReportFooter
-
this.sectionBounds.MeasureReportFooter(reportModel.ReportFooter);
this.sectionBounds.MeasureDetailArea();
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 8810143d3a..2f6ccc2be3 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
@@ -72,7 +72,7 @@ namespace ICSharpCode.Reports.Core.Exporter
protected virtual void BuildNewPage ()
{
this.SinglePage = this.InitNewPage();
- PrintHelper.InitPage(this.SinglePage,this.ReportModel.ReportSettings);
+ PrintHelper.InitPage(this.SinglePage,this.ReportModel.ReportSettings);
this.SinglePage.CalculatePageBounds(this.ReportModel);
}
@@ -112,12 +112,10 @@ namespace ICSharpCode.Reports.Core.Exporter
} else {
Rectangle desiredRectangle = layouter.Layout(this.graphics,section);
- Rectangle sectionRectangle = new Rectangle(0,0,section.Size.Width,section.Size.Height);
-
+ Rectangle sectionRectangle = new Rectangle(section.Location,section.Size);
if (!sectionRectangle.Contains(desiredRectangle)) {
section.Size = new Size(section.Size.Width,desiredRectangle.Size.Height + GlobalValues.ControlMargins.Top + GlobalValues.ControlMargins.Bottom);
}
-
list = StandardPrinter.ConvertPlainCollection(section.Items,offset);
}
}
@@ -197,8 +195,8 @@ namespace ICSharpCode.Reports.Core.Exporter
private static void EvaluateRecursive (IExpressionEvaluatorFacade evaluatorFassade,ExporterCollection items)
{
-
foreach (BaseExportColumn be in items) {
+
IExportContainer ec = be as IExportContainer;
if (ec != null)
{
@@ -207,26 +205,16 @@ namespace ICSharpCode.Reports.Core.Exporter
}
}
ExportText et = be as ExportText;
+
if (et != null) {
- try{
- if (et.Text.StartsWith("=Globals!Page")) {
- Console.WriteLine ("wxpression : {0}",evaluatorFassade.Evaluate(et.Text));
- }
-
+ if (et.Text.StartsWith("=")) {
et.Text = evaluatorFassade.Evaluate(et.Text);
}
- catch (UnknownFunctionException ufe)
- {
- et.Text = GlobalValues.UnkownFunctionMessage(ufe.Message);
- }
- finally
- {
-
- }
}
}
}
+
#endregion
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 3fc01122cd..13949395f1 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
@@ -63,19 +63,19 @@ namespace ICSharpCode.Reports.Core.Exporter
Size groupSize = Size.Empty;
Size childSize = Size.Empty;
- Console.WriteLine("-------------------START");
-
- Console.WriteLine ("section {0}",section.Size);
-
- Console.WriteLine();
+// Console.WriteLine("-------------------START");
+//
+// Console.WriteLine ("section {0}",section.Size);
+//
+// Console.WriteLine();
if (section.Items.IsGrouped)
{
groupSize = section.Items[0].Size;
childSize = section.Items[1].Size;
- Console.WriteLine ("group {0}",section.Items[0].Size);
- Console.WriteLine ("detail {0}",section.Items[1].Size);
+// Console.WriteLine ("group {0}",section.Items[0].Size);
+// Console.WriteLine ("detail {0}",section.Items[1].Size);
}
Rectangle pageBreakRect = Rectangle.Empty;
@@ -102,23 +102,23 @@ namespace ICSharpCode.Reports.Core.Exporter
childNavigator.Reset();
childNavigator.MoveNext();
- Console.WriteLine("-------------------after group");
-
- Console.WriteLine ("section {0}",section.Size);
- Console.WriteLine ("group {0}",section.Items[0].Size);
- Console.WriteLine ("detail {0}",section.Items[1].Size);
- Console.WriteLine();
+// Console.WriteLine("-------------------after group");
+//
+// Console.WriteLine ("section {0}",section.Size);
+// Console.WriteLine ("group {0}",section.Items[0].Size);
+// Console.WriteLine ("detail {0}",section.Items[1].Size);
+// Console.WriteLine();
//Convert children
if (childNavigator != null) {
StandardPrinter.AdjustBackColor(simpleContainer,GlobalValues.DefaultBackColor);
do
{
- Console.WriteLine("-----------------childs");
- Console.WriteLine ("section {0}",section.Size);
- Console.WriteLine ("group {0}",section.Items[0].Size);
- Console.WriteLine ("detail {0}",section.Items[1].Size);
- Console.WriteLine();
+// Console.WriteLine("-----------------childs");
+// Console.WriteLine ("section {0}",section.Size);
+// Console.WriteLine ("group {0}",section.Items[0].Size);
+// Console.WriteLine ("detail {0}",section.Items[1].Size);
+// Console.WriteLine();
section.Size = base.RestoreSize;
section.Items[0].Size = groupSize;
section.Items[1].Size = childSize;
@@ -151,9 +151,9 @@ namespace ICSharpCode.Reports.Core.Exporter
{
// No Grouping at all
Size dd = section.Items[0].Size;
- Console.WriteLine("---------NoGrouping");
- Console.WriteLine ("section {0}",section.Size);
- Console.WriteLine ("row {0}",dd);
+// Console.WriteLine("---------NoGrouping");
+// Console.WriteLine ("section {0}",section.Size);
+// Console.WriteLine ("row {0}",dd);
base.CurrentPosition = ConvertStandardRow (exporterCollection,section,simpleContainer,defaultLeftPos,base.CurrentPosition);
section.Size = base.RestoreSize;
section.Items[0].Size = dd;
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 9ec1e833ba..9ba022bca7 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
@@ -16,7 +16,6 @@ namespace ICSharpCode.Reports.Core.Exporter
readonly object addLock = new object();
- //internal delegate ExporterCollection ConverterDelegate (BaseSection s);
#region Constructor
@@ -103,7 +102,6 @@ namespace ICSharpCode.Reports.Core.Exporter
}
-
protected Point BuildDetail (BaseSection section,IDataNavigator dataNavigator)
{
ExporterCollection convertedList = new ExporterCollection();
diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ExpressionEvaluatorFacade.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ExpressionEvaluatorFacade.cs
index 9b890addc3..b38f6bca9a 100644
--- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ExpressionEvaluatorFacade.cs
+++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ExpressionEvaluatorFacade.cs
@@ -33,13 +33,20 @@ namespace ICSharpCode.Reports.Expressions.ReportingLanguage
public string Evaluate (string expression)
{
- if (CanEvaluate(expression)) {
- IExpression compiled = compiler.CompileExpression(expression);
- this.context.ContextObject = this.SinglePage;
- if (compiled != null) {
- return (compiled.Evaluate(context)).ToString();
+ try {
+ if (CanEvaluate(expression)) {
+ IExpression compiled = compiler.CompileExpression(expression);
+ this.context.ContextObject = this.SinglePage;
+ if (compiled != null) {
+ return (compiled.Evaluate(context)).ToString();
+ }
}
+ } catch (Exception e) {
+
+ Console.WriteLine("error");
+ expression = e.Message;
}
+
return expression;
}
diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/AggregateFunctions/AggregateFunction.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/AggregateFunctions/AggregateFunction.cs
index fe3ee2d674..952d204901 100644
--- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/AggregateFunctions/AggregateFunction.cs
+++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/AggregateFunctions/AggregateFunction.cs
@@ -124,9 +124,10 @@ namespace SimpleExpressionEvaluator.Compilation.Functions.AggregateFunctions
} else {
list.Add(true);
}
- } else {
+ }
+ else {
string str = String.Format ("<{0}> not found in AggregateFunction",data.ToString());
-// throw new FieldNotFoundException(str);
+ throw new FieldNotFoundException(str);
}
}
return list;