diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/CurrentItem.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/CurrentItem.cs index 066fa36e2d..70387fc353 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/CurrentItem.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/CurrentItem.cs @@ -8,7 +8,11 @@ namespace ICSharpCode.Reports.Core { public class CurrentItem : AbstractColumn { - + public CurrentItem (string name,Type dataType):base(name,dataType) + { + + } + public object Value{get;set;} } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ListStrategy/CollectionStrategy.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ListStrategy/CollectionStrategy.cs index a8e5385180..3a824232b0 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ListStrategy/CollectionStrategy.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ListStrategy/CollectionStrategy.cs @@ -213,7 +213,8 @@ namespace ICSharpCode.Reports.Core { private void FillInternal(object fillFrom,IDataItem item) { - if (item is BaseDataItem) + + if (item is BaseDataItem) { string result = String.Empty; PropertyPath path = fillFrom.ParsePropertyPath(item.ColumnName); @@ -331,15 +332,15 @@ namespace ICSharpCode.Reports.Core { CurrentItem currentItem = null; foreach (PropertyDescriptor pd in this.listProperties) { - currentItem = new CurrentItem(); - currentItem.ColumnName = pd.Name; - currentItem.DataType = pd.PropertyType; - + currentItem = new CurrentItem(pd.Name, pd.PropertyType); PropertyPath prop = obj.ParsePropertyPath(pd.Name); if (prop != null) { var pp = prop.Evaluate(obj); - currentItem.Value = pp.ToString(); + if (pp != null) + { + currentItem.Value = pp.ToString(); + } } ci.Add(currentItem); } @@ -385,9 +386,7 @@ namespace ICSharpCode.Reports.Core { CurrentItem c = null; foreach (PropertyDescriptor pd in this.listProperties) { - c = new CurrentItem(); - c.ColumnName = pd.Name; - c.DataType = pd.PropertyType; + c = new CurrentItem(pd.Name,pd.PropertyType); var s = pd.GetValue(this.Current); if (s != null) { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ListStrategy/TableStrategy.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ListStrategy/TableStrategy.cs index 830796f659..31ee035231 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ListStrategy/TableStrategy.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ListStrategy/TableStrategy.cs @@ -125,9 +125,7 @@ namespace ICSharpCode.Reports.Core if (row != null) { CurrentItem c = null; foreach (DataColumn dc in table.Columns) { - c = new CurrentItem(); - c.ColumnName = dc.ColumnName; - c.DataType = dc.DataType; + c = new CurrentItem(dc.ColumnName,dc.DataType); c.Value = row[dc.ColumnName]; ci.Add(c); } 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 f7e2de8d9d..9523c90307 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 @@ -25,7 +25,7 @@ namespace ICSharpCode.Reports.Expressions.ReportingLanguage { compiler = new ReportingLanguageCompiler(); this.context = new ExpressionContext(null); - context.ResolveUnknownVariable += VariableStore; + context.ResolveUnknownVariable += VariableStore; context.ResolveMissingFunction += FunctionStore; SinglePage = pageInfo; compiler.SinglePage = pageInfo; @@ -37,7 +37,7 @@ namespace ICSharpCode.Reports.Expressions.ReportingLanguage try { string s = EvaluationHelper.ExtractExpressionPart(expression); - if (s.Length > 0) { + if (s.Length > 0) { this.context.ContextObject = this.SinglePage ; return EvaluateExpression (s); } @@ -107,7 +107,7 @@ namespace ICSharpCode.Reports.Expressions.ReportingLanguage string EvaluateExpression(string expression) { - IExpression compiled = compiler.CompileExpression(expression); + IExpression compiled = compiler.CompileExpression(expression); if (compiled != null) { return (compiled.Evaluate(context)).ToString(); } @@ -120,6 +120,7 @@ namespace ICSharpCode.Reports.Expressions.ReportingLanguage Console.WriteLine(""); Console.WriteLine("ExpressionEvaluatorFacade.Evaluate"); Console.WriteLine(e.Message); + Console.WriteLine(e.TargetSite); Console.WriteLine(""); } 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 6394f958d5..a1ab2a0670 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 @@ -111,14 +111,14 @@ namespace SimpleExpressionEvaluator.Compilation.Functions.AggregateFunctions { navigator.Reset(); List list = new List(); - while ( navigator.MoveNext()) { + while ( navigator.MoveNext()) + { CurrentItemsCollection row = navigator.GetDataRow; CurrentItem currentItem = ExtractItemFromDataSet (row,data); if (currentItem != null) { object s1 = Convert.ToString(currentItem.Value.ToString(),CultureInfo.CurrentCulture); -// Console.WriteLine("\tSetup DataSource value = {0}", s1.ToString()); if (IsNumeric(s1)) { list.Add(Convert.ToDouble(s1,System.Globalization.CultureInfo.CurrentCulture)); } else { @@ -126,7 +126,7 @@ namespace SimpleExpressionEvaluator.Compilation.Functions.AggregateFunctions } } else { - string str = String.Format ("<{0}> not found in AggregateFunction",data.ToString()); + string str = String.Format ("<{0}> not found in AggregateFunction.SetupDataSource",data.ToString()); throw new FieldNotFoundException(str); } }