diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ChildNavigator.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ChildNavigator.cs index 17090a985c..e59b324185 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ChildNavigator.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ChildNavigator.cs @@ -109,20 +109,25 @@ namespace ICSharpCode.Reports.Core this.indexList.CurrentPosition = -1; } - public CurrentItemsCollection GetDataRow() + + public CurrentItemsCollection GetDataRow { - var st= store as TableStrategy; - return st.FillDataRow(this.indexList[CurrentRow].ListIndex); + get { + var st= store as TableStrategy; + return st.FillDataRow(this.indexList[CurrentRow].ListIndex); + } } - public IDataNavigator GetChildNavigator() + public IDataNavigator GetChildNavigator { - var i = BuildChildList(); - if ((i == null) || (i.Count == 0)) { - return null; - } - return new ChildNavigator(this.store,i); + get { + var i = BuildChildList(); + if ((i == null) || (i.Count == 0)) { + return null; + } + return new ChildNavigator(this.store,i); + } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/DataNavigator.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/DataNavigator.cs index 9529e9f401..de83f8124b 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/DataNavigator.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/DataNavigator.cs @@ -23,9 +23,9 @@ namespace ICSharpCode.Reports.Core #region test - public CurrentItemsCollection GetDataRow() + public CurrentItemsCollection GetDataRow { - return this.store.FillDataRow(); + get {return this.store.FillDataRow();} } #endregion @@ -125,13 +125,15 @@ namespace ICSharpCode.Reports.Core #region Try make recursive with ChildNavigavtor - public IDataNavigator GetChildNavigator() + public IDataNavigator GetChildNavigator { - var i = BuildChildList(); - if ((i == null) || (i.Count == 0)) { - return null; - } - return new ChildNavigator(this.store,i); + get { + var i = BuildChildList(); + if ((i == null) || (i.Count == 0)) { + return null; + } + return new ChildNavigator(this.store,i); + } } #endregion 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 faf120fbbc..34b4bcbb4e 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 @@ -263,13 +263,13 @@ namespace ICSharpCode.Reports.Core { } - void WrongColumnName(IDataItem item) + static void WrongColumnName(IDataItem item) { item.DBValue = string.Format(CultureInfo.InvariantCulture, "Error : <{0}> missing!", item.ColumnName); } - void SetReturnValue(PropertyDescriptor p,object component,IDataItem item) + static void SetReturnValue(PropertyDescriptor p,object component,IDataItem item) { if (p != null) { @@ -287,9 +287,8 @@ namespace ICSharpCode.Reports.Core { } - string[] SplitNames(ref IDataItem item) + static string[] SplitNames(ref IDataItem item) { - var i = item.ColumnName.IndexOf("."); char[] delimiters = new char[] { '.' }; var splittedNames = item.ColumnName.Split(delimiters); return splittedNames; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs index 6f01362ef1..8fdcfa7b34 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs @@ -246,39 +246,41 @@ namespace ICSharpCode.Reports.Core.Exporter LayoutRow(simpleContainer); } - protected Point ConvertStandardRow(ExporterCollection mylist, ISimpleContainer simpleContainer) { var rowSize = simpleContainer.Size; -Console.WriteLine("ConvertStandardRow"); - - Point curPos = new Point (DefaultLeftPosition,CurrentPosition.Y + simpleContainer.Size.Height); + Point curPos = new Point(DefaultLeftPosition, CurrentPosition.Y); ExporterCollection ml = BaseConverter.ConvertItems (simpleContainer, curPos); - //curPos = new Point (DefaultLeftPosition,curPos.Y + simpleContainer.Size.Height); EvaluationHelper.EvaluateRow(Evaluator,ml); mylist.AddRange(ml); - // + + curPos = new Point (DefaultLeftPosition,CurrentPosition.Y + simpleContainer.Size.Height); simpleContainer.Size = rowSize; - Console.WriteLine(""); return curPos; } - - + /* - protected Point ConvertStandardRow(ExporterCollection mylist, ISimpleContainer simpleContainer) + protected Point old_ConvertStandardRow(ExporterCollection mylist, ISimpleContainer simpleContainer) { var rowSize = simpleContainer.Size; Console.WriteLine("ConvertStandardRow"); - Point curPos = ConvertContainer(mylist,simpleContainer,DefaultLeftPosition,CurrentPosition); - AfterConverting (mylist); + + Point curPos = new Point (DefaultLeftPosition,CurrentPosition.Y + simpleContainer.Size.Height); + + ExporterCollection ml = BaseConverter.ConvertItems (simpleContainer, curPos); + //curPos = new Point (DefaultLeftPosition,curPos.Y + simpleContainer.Size.Height); + EvaluationHelper.EvaluateRow(Evaluator,ml); + mylist.AddRange(ml); + // simpleContainer.Size = rowSize; Console.WriteLine(""); return curPos; } - */ + + */ protected void AfterConverting (ExporterCollection convertedList) { 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 3a285aca66..49cd8cc81a 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 @@ -78,12 +78,12 @@ namespace ICSharpCode.Reports.Core.Exporter if (section.Items.IsGrouped) { // GetType child navigator - IDataNavigator childNavigator = base.DataNavigator.GetChildNavigator(); + IDataNavigator childNavigator = base.DataNavigator.GetChildNavigator; base.Evaluator.SinglePage.IDataNavigator = childNavigator; - + Console.WriteLine("Header start {0}",base.CurrentPosition); base.CurrentPosition = ConvertGroupHeader(exporterCollection,section,base.CurrentPosition); - + Console.WriteLine("Header end {0}",base.CurrentPosition); section.Size = base.RestoreSectionSize; section.Items[0].Size = groupSize; section.Items[1].Size = childSize; @@ -94,6 +94,7 @@ namespace ICSharpCode.Reports.Core.Exporter //Convert children if (childNavigator != null) { StandardPrinter.AdjustBackColor(simpleContainer,GlobalValues.DefaultBackColor); + Console.WriteLine("child start {0}",base.CurrentPosition); do { section.Size = base.RestoreSectionSize; @@ -107,7 +108,7 @@ namespace ICSharpCode.Reports.Core.Exporter CheckForPageBreak(section,exporterCollection); } while ( childNavigator.MoveNext()); - + Console.WriteLine("child end {0}",base.CurrentPosition); // GroupFooter base.ConvertGroupFooter(section,exporterCollection); @@ -179,7 +180,7 @@ namespace ICSharpCode.Reports.Core.Exporter EvaluationHelper.EvaluateRow(base.Evaluator,list); exportList.AddRange(list); - //AfterConverting (list); + retVal = new Point (DefaultLeftPosition,offset.Y + groupCollection[0].Size.Height + 20 + (3 *GlobalValues.GapBetweenContainer)); } else { FillRow(groupedRows[0],base.DataNavigator); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedTableConverter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedTableConverter.cs index e6b102f288..05af0a6d9c 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedTableConverter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedTableConverter.cs @@ -87,7 +87,7 @@ namespace ICSharpCode.Reports.Core.Exporter do { // GetType child navigator - IDataNavigator childNavigator = base.DataNavigator.GetChildNavigator(); + IDataNavigator childNavigator = base.DataNavigator.GetChildNavigator; base.Evaluator.SinglePage.IDataNavigator = childNavigator; // Convert Grouping Header @@ -148,7 +148,6 @@ base.PrepareContainerForConverting(section,simpleContainer); CheckForPageBreak(section,simpleContainer,headerRow,exporterCollection); FillRow(simpleContainer,base.DataNavigator); -// base.PrepareContainerForConverting(section,simpleContainer); FireRowRendering(simpleContainer,base.DataNavigator); base.PrepareContainerForConverting(section,simpleContainer); @@ -177,7 +176,6 @@ base.PrepareContainerForConverting(section,simpleContainer); if (PrintHelper.IsPageFull(pageBreakRect,base.SectionBounds)) { base.CurrentPosition = ForcePageBreak(exporterCollection,section); - base.CurrentPosition = ConvertStandardRow (exporterCollection,headerRow); } 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 952d204901..bda9d86930 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 @@ -112,7 +112,7 @@ namespace SimpleExpressionEvaluator.Compilation.Functions.AggregateFunctions navigator.Reset(); List list = new List(); while ( navigator.MoveNext()) { - CurrentItemsCollection row = navigator.GetDataRow(); + CurrentItemsCollection row = navigator.GetDataRow; CurrentItem currentItem = ExtractItemFromDataSet (row,data); if (currentItem != null) { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/ReportingService/FieldReference.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/ReportingService/FieldReference.cs index a94626164d..545f74df46 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/ReportingService/FieldReference.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/ReportingService/FieldReference.cs @@ -33,7 +33,7 @@ namespace SimpleExpressionEvaluator.Compilation.Functions.ReportingService Variable variable = Arguments[0] as Variable; if (singlePage.IDataNavigator.CurrentRow > -1) { - var dataRow = singlePage.IDataNavigator.GetDataRow(); + var dataRow = singlePage.IDataNavigator.GetDataRow; var item = dataRow.Find(variable.VariableName); string retval; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Interfaces/IDataNavigator.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Interfaces/IDataNavigator.cs index 5fbac758cb..d502c5b189 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Interfaces/IDataNavigator.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Interfaces/IDataNavigator.cs @@ -12,7 +12,8 @@ using System.ComponentModel; bool MoveNext () ; void Reset(); - CurrentItemsCollection GetDataRow(); + CurrentItemsCollection GetDataRow {get;} + bool HasMoreData { get; @@ -20,7 +21,7 @@ using System.ComponentModel; #region Try make recursive with ChildNavigator - IDataNavigator GetChildNavigator(); + IDataNavigator GetChildNavigator{get;} #endregion diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/GroupListFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/GroupListFixture.cs index 07001ec304..b601382bee 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/GroupListFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/GroupListFixture.cs @@ -38,7 +38,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy { var dataNavigator = PrepareStringGrouping(); dataNavigator.MoveNext(); - IDataNavigator child = dataNavigator.GetChildNavigator(); + IDataNavigator child = dataNavigator.GetChildNavigator; AvailableFieldsCollection availableFieldsCollection = child.AvailableFields; Assert.That(availableFieldsCollection,Is.Not.Null); Assert.That(availableFieldsCollection.Count,Is.GreaterThan(0)); @@ -64,7 +64,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy { if (dataNavigator.HasChildren) { - var childNavigator = dataNavigator.GetChildNavigator(); + var childNavigator = dataNavigator.GetChildNavigator; Assert.That(childNavigator.Count,Is.GreaterThan(0)); } } @@ -78,7 +78,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy while (dataNavigator.MoveNext()) { if (dataNavigator.HasChildren) { - var childNavigator = dataNavigator.GetChildNavigator(); + var childNavigator = dataNavigator.GetChildNavigator; do { Assert.That(dataNavigator.HasChildren,Is.True); @@ -106,7 +106,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy Console.WriteLine("start datetime"); while (dataNavigator.MoveNext()) { if (dataNavigator.HasChildren) { - var childNavigator = dataNavigator.GetChildNavigator(); + var childNavigator = dataNavigator.GetChildNavigator; do { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/IListDataManagerFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/IListDataManagerFixture.cs index a1e6af8380..23ed302ebf 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/IListDataManagerFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/IListDataManagerFixture.cs @@ -304,7 +304,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(this.contributorCollection,rs); DataNavigator dataNav = dm.GetNavigator; while (dataNav.MoveNext()) { - CurrentItemsCollection c = dataNav.GetDataRow(); + CurrentItemsCollection c = dataNav.GetDataRow; Assert.AreEqual(typeof(string),c[0].DataType); Assert.AreEqual(typeof(string),c[1].DataType); Assert.AreEqual(typeof(string),c[2].DataType); @@ -321,7 +321,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy DataNavigator dataNav = dm.GetNavigator; int count = 0; while (dataNav.MoveNext()) { - CurrentItemsCollection c = dataNav.GetDataRow(); + CurrentItemsCollection c = dataNav.GetDataRow; if ( c != null) { count ++; } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/GroupTableFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/GroupTableFixture.cs index 0485610012..5345ad4367 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/GroupTableFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/GroupTableFixture.cs @@ -44,7 +44,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy { var dataNavigator = PrepareStringGrouping(); dataNavigator.MoveNext(); - IDataNavigator child = dataNavigator.GetChildNavigator(); + IDataNavigator child = dataNavigator.GetChildNavigator; AvailableFieldsCollection availableFieldsCollection = child.AvailableFields; Assert.That(availableFieldsCollection,Is.Not.Null); Assert.That(availableFieldsCollection.Count,Is.GreaterThan(0)); @@ -77,7 +77,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy { if (dataNavigator.HasChildren) { - var childNavigator = dataNavigator.GetChildNavigator(); + var childNavigator = dataNavigator.GetChildNavigator; Assert.That(childNavigator.Count,Is.GreaterThan(0)); } } @@ -91,7 +91,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy while (dataNavigator.MoveNext()) { if (dataNavigator.HasChildren) { - var childNavigator = dataNavigator.GetChildNavigator(); + var childNavigator = dataNavigator.GetChildNavigator; do { Assert.That(dataNavigator.HasChildren,Is.True); @@ -115,7 +115,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy while (dataNavigator.MoveNext()) { if (dataNavigator.HasChildren) { - var childNavigator = dataNavigator.GetChildNavigator(); + var childNavigator = dataNavigator.GetChildNavigator; do { Assert.That(dataNavigator.HasChildren,Is.True); @@ -164,7 +164,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy DataRow r = dataNavigator.Current as DataRow; - IDataNavigator child = dataNavigator.GetChildNavigator(); + IDataNavigator child = dataNavigator.GetChildNavigator; string v2 = r["last"].ToString() + " GroupVal :" + r[3].ToString() ; Console.WriteLine(v2); Assert.That (child,Is.Not.Null); @@ -183,7 +183,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy string v1 = r["last"].ToString() + " :" + r[3].ToString(); Console.WriteLine("\t {0}",v1); if (startNavigator.HasChildren) { - IDataNavigator child = startNavigator.GetChildNavigator(); + IDataNavigator child = startNavigator.GetChildNavigator; Console.WriteLine("header {0} - Child_Count:{1}",v1,child.Count); RecursiveCall (child); } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/TableDataManagerFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/TableDataManagerFixture.cs index 85178faa59..ede27012cc 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/TableDataManagerFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/TableDataManagerFixture.cs @@ -284,7 +284,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(this.table,rs); DataNavigator dataNav = dm.GetNavigator; while (dataNav.MoveNext()) { - CurrentItemsCollection c = dataNav.GetDataRow(); + CurrentItemsCollection c = dataNav.GetDataRow; Assert.AreEqual(typeof(string),c[0].DataType); Assert.AreEqual(typeof(string),c[1].DataType); Assert.AreEqual(typeof(string),c[2].DataType); @@ -302,7 +302,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy DataNavigator dataNav = dm.GetNavigator; int count = 0; while (dataNav.MoveNext()) { - CurrentItemsCollection c = dataNav.GetDataRow(); + CurrentItemsCollection c = dataNav.GetDataRow; if ( c != null) { count ++; }