From 79831637b7c770225b4a8669aa069607bf4b8a4f Mon Sep 17 00:00:00 2001
From: Peter Forstmeier <peter.forstmeier@t-online.de>
Date: Fri, 30 Jun 2006 06:44:12 +0000
Subject: [PATCH] Modified samples

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/2.0@1531 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
---
 .../ReportSamples/MainForm.Designer.cs        |  34 ++++--
 samples/SharpReport/ReportSamples/MainForm.cs |  64 ++++++++---
 .../MultipageUnboundPullModel.cs              | 104 ++++++++++++++++++
 .../ReportSamples/ReportSamples.csproj        |   2 +
 .../ReportSamples/SimpleUnboundPullModel.cs   |  98 +++++++++++++++++
 .../Unbound/MultiPageUnboundPullModel.srd     |   1 +
 .../SharpReport/Unbound/UnboundPullModel.srd  |   1 +
 .../Printing/AbstractRenderer.cs              |  11 +-
 .../Printing/RenderDataReport.cs              |   2 +-
 .../Printing/RenderFormSheetReport.cs         |  46 +++++---
 .../Printing/ReportDocument.cs                |   1 +
 11 files changed, 322 insertions(+), 42 deletions(-)
 create mode 100644 samples/SharpReport/ReportSamples/MultipageUnboundPullModel.cs
 create mode 100644 samples/SharpReport/ReportSamples/SimpleUnboundPullModel.cs
 create mode 100644 samples/SharpReport/Unbound/MultiPageUnboundPullModel.srd
 create mode 100644 samples/SharpReport/Unbound/UnboundPullModel.srd

diff --git a/samples/SharpReport/ReportSamples/MainForm.Designer.cs b/samples/SharpReport/ReportSamples/MainForm.Designer.cs
index eabccca6a4..dea7a1d080 100644
--- a/samples/SharpReport/ReportSamples/MainForm.Designer.cs
+++ b/samples/SharpReport/ReportSamples/MainForm.Designer.cs
@@ -46,9 +46,11 @@ namespace ReportSamples
 			this.missingConnectionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
 			this.pushModelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
 			this.emlpoyeesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
-			this.errorProvider1 = new System.Windows.Forms.ErrorProvider(this.components);
 			this.unboundToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
 			this.unboundToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
+			this.unboundPullModelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+			this.errorProvider1 = new System.Windows.Forms.ErrorProvider(this.components);
+			this.multipageUnboundPullModelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
 			this.menuStrip1.SuspendLayout();
 			((System.ComponentModel.ISupportInitialize)(this.errorProvider1)).BeginInit();
 			this.SuspendLayout();
@@ -127,14 +129,12 @@ namespace ReportSamples
 			this.emlpoyeesToolStripMenuItem.Text = "Employees-Push";
 			this.emlpoyeesToolStripMenuItem.Click += new System.EventHandler(this.EmployeesPushClick);
 			// 
-			// errorProvider1
-			// 
-			this.errorProvider1.ContainerControl = this;
-			// 
 			// unboundToolStripMenuItem
 			// 
 			this.unboundToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
-									this.unboundToolStripMenuItem1});
+									this.unboundToolStripMenuItem1,
+									this.unboundPullModelToolStripMenuItem,
+									this.multipageUnboundPullModelToolStripMenuItem});
 			this.unboundToolStripMenuItem.Name = "unboundToolStripMenuItem";
 			this.unboundToolStripMenuItem.Size = new System.Drawing.Size(62, 20);
 			this.unboundToolStripMenuItem.Text = "Unbound";
@@ -142,10 +142,28 @@ namespace ReportSamples
 			// unboundToolStripMenuItem1
 			// 
 			this.unboundToolStripMenuItem1.Name = "unboundToolStripMenuItem1";
-			this.unboundToolStripMenuItem1.Size = new System.Drawing.Size(152, 22);
+			this.unboundToolStripMenuItem1.Size = new System.Drawing.Size(218, 22);
 			this.unboundToolStripMenuItem1.Text = "Unbound";
 			this.unboundToolStripMenuItem1.Click += new System.EventHandler(this.UnboundToolStripMenuItem1Click);
 			// 
+			// unboundPullModelToolStripMenuItem
+			// 
+			this.unboundPullModelToolStripMenuItem.Name = "unboundPullModelToolStripMenuItem";
+			this.unboundPullModelToolStripMenuItem.Size = new System.Drawing.Size(218, 22);
+			this.unboundPullModelToolStripMenuItem.Text = "UnboundPullModel";
+			this.unboundPullModelToolStripMenuItem.Click += new System.EventHandler(this.UnboundPullModelToolStripMenuItemClick);
+			// 
+			// errorProvider1
+			// 
+			this.errorProvider1.ContainerControl = this;
+			// 
+			// multipageUnboundPullModelToolStripMenuItem
+			// 
+			this.multipageUnboundPullModelToolStripMenuItem.Name = "multipageUnboundPullModelToolStripMenuItem";
+			this.multipageUnboundPullModelToolStripMenuItem.Size = new System.Drawing.Size(218, 22);
+			this.multipageUnboundPullModelToolStripMenuItem.Text = "MultipageUnboundPullModel";
+			this.multipageUnboundPullModelToolStripMenuItem.Click += new System.EventHandler(this.MultipageUnboundPullModelToolStripMenuItemClick);
+			// 
 			// MainForm
 			// 
 			this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
@@ -161,6 +179,8 @@ namespace ReportSamples
 			this.ResumeLayout(false);
 			this.PerformLayout();
 		}
+		private System.Windows.Forms.ToolStripMenuItem multipageUnboundPullModelToolStripMenuItem;
+		private System.Windows.Forms.ToolStripMenuItem unboundPullModelToolStripMenuItem;
 		private System.Windows.Forms.ToolStripMenuItem unboundToolStripMenuItem1;
 		private System.Windows.Forms.ToolStripMenuItem unboundToolStripMenuItem;
 		private System.Windows.Forms.ErrorProvider errorProvider1;
diff --git a/samples/SharpReport/ReportSamples/MainForm.cs b/samples/SharpReport/ReportSamples/MainForm.cs
index 2e5ccd6bf4..a2708827ac 100644
--- a/samples/SharpReport/ReportSamples/MainForm.cs
+++ b/samples/SharpReport/ReportSamples/MainForm.cs
@@ -85,6 +85,7 @@ namespace ReportSamples
 			}
 		}
 		
+		#region unbound
 		private void OpenUnbound() {
 			try{
 				OpenFileDialog dg = new OpenFileDialog();
@@ -92,8 +93,8 @@ namespace ReportSamples
 				dg.Title = "Select a report file: ";
 				if (dg.ShowDialog() == DialogResult.OK){
 					SharpReportCore.SharpReportEngine mn = new SharpReportCore.SharpReportEngine();
-					mn.SectionRendering += new EventHandler<SectionRenderEventArgs>(OnTestPrinting);
-					mn.SectionRendered += new EventHandler<SectionRenderEventArgs>(OnTestPrinted);
+					mn.SectionRendering += new EventHandler<SectionRenderEventArgs>(UnboundPrinting);
+					mn.SectionRendered += new EventHandler<SectionRenderEventArgs>(UnboundPrinted);
 					mn.PreviewStandartReport(dg.FileName.ToString());
 					
 				}
@@ -103,18 +104,19 @@ namespace ReportSamples
 			}
 		}
 		
-		private void OnTestPrinting (object sender,SectionRenderEventArgs e) {
-			System.Console.WriteLine("");
-			System.Console.WriteLine("--------------");
-			System.Console.WriteLine("MainForm:OnTestPrinting on PageNr <{0}>",e.PageNumber);
-			System.Console.WriteLine("\t SectionInUse <{0}>",e.CurrentSection);
-			System.Console.WriteLine("\t <{0}> Items",e.Section.Items.Count);
-
-		
+		private void UnboundPrinting (object sender,SectionRenderEventArgs e) {
+//			System.Console.WriteLine("");
+//			System.Console.WriteLine("--------------");
+//			System.Console.WriteLine("MainForm:OnTestPrinting <{0}> for PageNr <{1}>",e.CurrentSection,e.PageNumber);
+//			System.Console.WriteLine("\t <{0}> Items",e.Section.Items.Count);
+//
+//		
 			switch (e.CurrentSection) {
 				case GlobalEnums.enmSection.ReportHeader:
-					System.Console.WriteLine("I found the ReportHeader");
+					System.Console.WriteLine("\tI found the ReportHeader");
 					break;
+				
+				
 				case GlobalEnums.enmSection.ReportPageHeader:
 					
 					BaseTextItem t = (BaseTextItem)e.Section.Items.Find("reportTextItem1");
@@ -131,13 +133,23 @@ namespace ReportSamples
 						bb.DbValue = "Hello World";
 					}
 					
-					System.Console.WriteLine("I found the Pageheader");
+					System.Console.WriteLine("\tI found the Pageheader");
 					break;
+				
 				case GlobalEnums.enmSection.ReportDetail:
-					System.Console.WriteLine("I found the ReportDetail");
+					System.Console.WriteLine("\tI found the ReportDetail");
+					BaseDataItem bdi = (BaseDataItem)e.Section.Items.Find("reportDbTextItem1");
+					if (bdi != null) {
+						bdi.BackColor = Color.LightGray;
+						bdi.Location = new Point(200,5);
+						bdi.DbValue = "Unbound Field in DetailSection";
+					}
+					
+					
 					break;
+				
 				case GlobalEnums.enmSection.ReportPageFooter:
-					System.Console.WriteLine("I found the PageFooter");
+					System.Console.WriteLine("\tI found the PageFooter");
 					BaseReportItem b = (BaseReportItem)e.Section.Items.Find("pageNumber1");
 					if (b != null) {
 						b.BackColor = Color.AliceBlue;
@@ -146,21 +158,26 @@ namespace ReportSamples
 						MessageBox.Show (s);
 					}
 					break;
+				
 				case GlobalEnums.enmSection.ReportFooter:
-					System.Console.WriteLine("I found the ReportFooter");
+					System.Console.WriteLine("\tI found the ReportFooter");
 					break;
+				
 				default:
-					
 					break;
 			}
 			System.Console.WriteLine("");
 		}
 		
-		private void OnTestPrinted (object sender,SectionRenderEventArgs e) {
-			System.Console.WriteLine("MainForm:OnTestPrinted for <{0}>",e.CurrentSection);
+		private void UnboundPrinted (object sender,SectionRenderEventArgs e) {
+//			System.Console.WriteLine("MainForm:Rendering done for  <{0}>",e.CurrentSection);
 			System.Console.WriteLine("----------");
 		}
 		
+		#endregion
+		
+		
+		
 		///<summary>Preferd Method to initialise the <see cref="SharpReportCore.ConnectionObject"></see>
 		/// hav a look to
 		/// <http://msdn2.microsoft.com/en-us/library/system.data.oledb.oledbconnectionstringbuilder(VS.80).aspx>
@@ -275,5 +292,16 @@ namespace ReportSamples
 		{
 			this.OpenUnbound();
 		}
+		
+		void UnboundPullModelToolStripMenuItemClick(object sender, System.EventArgs e){
+			SimpleUnboundPullModel sm = new SimpleUnboundPullModel();
+			sm.Run();
+		}
+		
+		void MultipageUnboundPullModelToolStripMenuItemClick(object sender, System.EventArgs e)
+		{
+			MultiPageUnboundPullModel mp = new MultiPageUnboundPullModel();
+			mp.Run();
+		}
 	}
 }
diff --git a/samples/SharpReport/ReportSamples/MultipageUnboundPullModel.cs b/samples/SharpReport/ReportSamples/MultipageUnboundPullModel.cs
new file mode 100644
index 0000000000..55b34f25f7
--- /dev/null
+++ b/samples/SharpReport/ReportSamples/MultipageUnboundPullModel.cs
@@ -0,0 +1,104 @@
+/*
+ * Created by SharpDevelop.
+ * User: Forstmeier Helmut
+ * Date: 29.06.2006
+ * Time: 13:02
+ * 
+ * To change this template use Tools | Options | Coding | Edit Standard Headers.
+ */
+
+using System;
+using System.Windows.Forms;
+
+using SharpReportCore;
+
+namespace ReportSamples{
+	/// <summary>
+	/// Description of MultipageUnboundPullModel.
+	/// </summary>
+	public class MultiPageUnboundPullModel{
+		int rowNr;
+		int rowsPerPage;
+		int pageNr;
+		public MultiPageUnboundPullModel(){
+		}
+		
+		public void Run() {
+			try{
+				OpenFileDialog dg = new OpenFileDialog();
+				dg.Filter = "SharpReport files|*.srd";
+				dg.Title = "Select a report file: ";
+				if (dg.ShowDialog() == DialogResult.OK){
+					SharpReportCore.SharpReportEngine mn = new SharpReportCore.SharpReportEngine();
+					mn.SectionRendering += new EventHandler<SectionRenderEventArgs>(MultipagePrinting);
+					mn.SectionRendered += new EventHandler<SectionRenderEventArgs>(MultipagePrinted);
+					mn.PreviewStandartReport(dg.FileName.ToString());
+					
+				}
+			}
+			catch(Exception er){
+				MessageBox.Show(er.ToString(),"MainForm");
+			}
+		}
+		private void MultipagePrinting (object sender,SectionRenderEventArgs e) {
+			System.Console.WriteLine("UnboundPullPrinting");
+			CheckItems(e.Section.Items);
+			switch (e.CurrentSection) {
+				case GlobalEnums.enmSection.ReportHeader:
+					System.Console.WriteLine("\tI found the ReportHeader");
+					break;
+
+				case GlobalEnums.enmSection.ReportPageHeader:
+					
+					System.Console.WriteLine("\tI found the Pageheader");
+					this.rowsPerPage = 0;
+					break;
+					
+				case GlobalEnums.enmSection.ReportDetail:
+					System.Console.WriteLine("\tI found the ReportDetail");
+					this.rowNr ++;
+					this.rowsPerPage ++;
+					RowItem ri = e.Section.Items[0] as RowItem;
+					if (ri != null) {
+						if (this.rowNr %2 == 0) {
+							ri.DrawBorder = true;
+						} else {
+							ri.DrawBorder = false;
+						}
+					}
+					break;
+					
+				case GlobalEnums.enmSection.ReportPageFooter:
+					System.Console.WriteLine("\tI found the PageFooter");
+					BaseDataItem bdi = e.Section.Items.Find("ItemsPerPage") as BaseDataItem;
+					if (bdi != null) {
+						bdi.DbValue = this.rowsPerPage.ToString();
+					}
+					break;
+					
+				case GlobalEnums.enmSection.ReportFooter:
+					System.Console.WriteLine("\tI found the ReportFooter");
+					break;
+					
+				default:
+					break;
+			}
+		}
+		
+		private void MultipagePrinted (object sender,SectionRenderEventArgs e) {
+////			System.Console.WriteLine("MainForm:Rendering done for  <{0}>",e.CurrentSection);
+//			System.Console.WriteLine("----------");
+		}
+		
+		private void CheckItems (ReportItemCollection items) {
+			System.Console.WriteLine("\t<{0}> Items",items.Count );
+			foreach (BaseReportItem i in items) {
+				IContainerItem container = i as IContainerItem;
+				if (container != null) {
+					System.Console.WriteLine("\t\tContainer found");
+					CheckItems (container.Items);
+				}
+			}
+		}
+	}
+}
diff --git a/samples/SharpReport/ReportSamples/ReportSamples.csproj b/samples/SharpReport/ReportSamples/ReportSamples.csproj
index a9f9b69473..632a532cfd 100644
--- a/samples/SharpReport/ReportSamples/ReportSamples.csproj
+++ b/samples/SharpReport/ReportSamples/ReportSamples.csproj
@@ -48,6 +48,8 @@
     <EmbeddedResource Include="MainForm.resx">
       <DependentUpon>MainForm.cs</DependentUpon>
     </EmbeddedResource>
+    <Compile Include="SimpleUnboundPullModel.cs" />
+    <Compile Include="MultipageUnboundPullModel.cs" />
   </ItemGroup>
   <ItemGroup>
     <COMReference Include="Microsoft ActiveX Data Objects 2.7 Library">
diff --git a/samples/SharpReport/ReportSamples/SimpleUnboundPullModel.cs b/samples/SharpReport/ReportSamples/SimpleUnboundPullModel.cs
new file mode 100644
index 0000000000..f69cd6d955
--- /dev/null
+++ b/samples/SharpReport/ReportSamples/SimpleUnboundPullModel.cs
@@ -0,0 +1,98 @@
+/*
+ * Created by SharpDevelop.
+ * User: Forstmeier Helmut
+ * Date: 29.06.2006
+ * Time: 09:21
+ * 
+ * To change this template use Tools | Options | Coding | Edit Standard Headers.
+ */
+
+using System;
+using System.Drawing;
+using System.Windows.Forms;
+
+using SharpReportCore;
+namespace ReportSamples
+{
+	/// <summary>
+	/// Description of SimpleUnboundPullModel.
+	/// </summary>
+	public class SimpleUnboundPullModel{
+		int rowNr;
+		
+		public SimpleUnboundPullModel(){
+				
+		}
+		public void Run() {
+			try{
+				OpenFileDialog dg = new OpenFileDialog();
+				dg.Filter = "SharpReport files|*.srd";
+				dg.Title = "Select a report file: ";
+				if (dg.ShowDialog() == DialogResult.OK){
+					SharpReportCore.SharpReportEngine mn = new SharpReportCore.SharpReportEngine();
+					mn.SectionRendering += new EventHandler<SectionRenderEventArgs>(SimplePullPrinting);
+					mn.SectionRendered += new EventHandler<SectionRenderEventArgs>(SimplePullPrinted);
+					mn.PreviewStandartReport(dg.FileName.ToString());
+					
+				}
+			}
+			catch(Exception er){
+				MessageBox.Show(er.ToString(),"MainForm");
+			}
+		}
+		private void SimplePullPrinting (object sender,SectionRenderEventArgs e) {
+			System.Console.WriteLine("UnboundPullPrinting");
+			CheckItems(e.Section.Items);
+			switch (e.CurrentSection) {
+				case GlobalEnums.enmSection.ReportHeader:
+					System.Console.WriteLine("\tI found the ReportHeader");
+					break;
+
+				case GlobalEnums.enmSection.ReportPageHeader:
+					
+					System.Console.WriteLine("\tI found the Pageheader");
+					break;
+					
+				case GlobalEnums.enmSection.ReportDetail:
+					System.Console.WriteLine("\tI found the ReportDetail");
+					this.rowNr ++;
+					RowItem ri = e.Section.Items[0] as RowItem;
+					if (ri != null) {
+						if (this.rowNr %2 == 0) {
+							ri.DrawBorder = true;
+						} else {
+							ri.DrawBorder = false;
+						}
+					}
+					break;
+					
+				case GlobalEnums.enmSection.ReportPageFooter:
+					System.Console.WriteLine("\tI found the PageFooter");
+					break;
+					
+				case GlobalEnums.enmSection.ReportFooter:
+					System.Console.WriteLine("\tI found the ReportFooter");
+					break;
+					
+				default:
+					break;
+			}
+		}
+		
+		private void SimplePullPrinted (object sender,SectionRenderEventArgs e) {
+////			System.Console.WriteLine("MainForm:Rendering done for  <{0}>",e.CurrentSection);
+//			System.Console.WriteLine("----------");
+		}
+		
+		private void CheckItems (ReportItemCollection items) {
+			System.Console.WriteLine("\t<{0}> Items",items.Count );
+			foreach (BaseReportItem i in items) {
+				IContainerItem container = i as IContainerItem;
+				if (container != null) {
+					System.Console.WriteLine("\t\tContainer found");
+					CheckItems (container.Items);
+				}
+			}
+		}
+	}
+}
diff --git a/samples/SharpReport/Unbound/MultiPageUnboundPullModel.srd b/samples/SharpReport/Unbound/MultiPageUnboundPullModel.srd
new file mode 100644
index 0000000000..c5acebb85c
--- /dev/null
+++ b/samples/SharpReport/Unbound/MultiPageUnboundPullModel.srd
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?><SharpReport><section name="SharpReportCore.ReportSettings"><AvailableColumns><column><ColumnName value="ProductID" /><DataType value="" /></column><column><ColumnName value="ProductName" /><DataType value="" /></column><column><ColumnName value="SupplierID" /><DataType value="" /></column><column><ColumnName value="CategoryID" /><DataType value="" /></column><column><ColumnName value="QuantityPerUnit" /><DataType value="" /></column><column><ColumnName value="UnitPrice" /><DataType value="" /></column><column><ColumnName value="UnitsInStock" /><DataType value="" /></column><column><ColumnName value="UnitsOnOrder" /><DataType value="" /></column><column><ColumnName value="ReorderLevel" /><DataType value="" /></column><column><ColumnName value="Discontinued" /><DataType value="" /></column></AvailableColumns><ReportType value="DataReport" /><ConnectionString value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\SharpReportTester\TestReports\Nwind.mdb;Persist Security Info=False" /><CommandText value="SELECT * FROM Products" /><CommandType value="Text" /><DataModel value="PullData" /><DefaultFont value="Microsoft Sans Serif, 10pt" /><ReportName value="SharpReport1" /><DefaultMargins value="50; 50; 50; 50" /><GridSize value="{Width=8, Height=8}" /><Padding value="{Left=5,Top=5,Right=5,Bottom=5}" /></section><section name="ReportHeader"><BackColor value="Color [Window]" /><Size value="{Width=803, Height=40}" /><SectionMargin value="50" /><PageBreakAfter value="False" /><CanGrow value="False" /><CanShrink value="False" /><Name value="ReportHeader" /><Location value="{X=0,Y=0}" /><controls /></section><section name="ReportPageHeader"><BackColor value="Color [Window]" /><Size value="{Width=803, Height=80}" /><SectionMargin value="50" /><PageBreakAfter value="False" /><CanGrow value="False" /><CanShrink value="False" /><Name value="ReportPageHeader" /><Location value="{X=0,Y=0}" /><controls><control type="SharpReport.ReportItems.ReportTextItem" basetype="SharpReportCore.BaseTextItem"><Location value="{X=50,Y=0}" /><Font value="Microsoft Sans Serif, 10pt" /><Text value="SharpReport1" /><FormatString value="" /><StringTrimming value="EllipsisCharacter" /><ContentAlignment value="MiddleLeft" /><DrawBorder value="False" /><ForeColor value="Color [ControlText]" /><Visible value="True" /><CanGrow value="False" /><CanShrink value="False" /><Name value="reportTextItem1" /><Size value="{Width=185, Height=31}" /><BackColor value="Color [White]" /></control><control type="SharpReport.ReportItems.ReportTextItem" basetype="SharpReportCore.BaseTextItem"><Location value="{X=55,Y=40}" /><Font value="Microsoft Sans Serif, 10pt" /><Text value="ProductID" /><FormatString value="" /><StringTrimming value="EllipsisCharacter" /><ContentAlignment value="MiddleLeft" /><DrawBorder value="False" /><ForeColor value="Color [ControlText]" /><Visible value="True" /><CanGrow value="False" /><CanShrink value="False" /><Name value="reportTextItem2" /><Size value="{Width=100, Height=20}" /><BackColor value="Color [White]" /></control><control type="SharpReport.ReportItems.ReportTextItem" basetype="SharpReportCore.BaseTextItem"><Location value="{X=127,Y=40}" /><Font value="Microsoft Sans Serif, 10pt" /><Text value="ProductName" /><FormatString value="" /><StringTrimming value="EllipsisCharacter" /><ContentAlignment value="MiddleLeft" /><DrawBorder value="False" /><ForeColor value="Color [ControlText]" /><Visible value="True" /><CanGrow value="False" /><CanShrink value="False" /><Name value="reportTextItem3" /><Size value="{Width=100, Height=20}" /><BackColor value="Color [White]" /></control><control type="SharpReport.ReportItems.ReportTextItem" basetype="SharpReportCore.BaseTextItem"><Location value="{X=199,Y=40}" /><Font value="Microsoft Sans Serif, 10pt" /><Text value="SupplierID" /><FormatString value="" /><StringTrimming value="EllipsisCharacter" /><ContentAlignment value="MiddleLeft" /><DrawBorder value="False" /><ForeColor value="Color [ControlText]" /><Visible value="True" /><CanGrow value="False" /><CanShrink value="False" /><Name value="reportTextItem4" /><Size value="{Width=100, Height=20}" /><BackColor value="Color [White]" /></control><control type="SharpReport.ReportItems.ReportTextItem" basetype="SharpReportCore.BaseTextItem"><Location value="{X=271,Y=40}" /><Font value="Microsoft Sans Serif, 10pt" /><Text value="CategoryID" /><FormatString value="" /><StringTrimming value="EllipsisCharacter" /><ContentAlignment value="MiddleLeft" /><DrawBorder value="False" /><ForeColor value="Color [ControlText]" /><Visible value="True" /><CanGrow value="False" /><CanShrink value="False" /><Name value="reportTextItem5" /><Size value="{Width=100, Height=20}" /><BackColor value="Color [White]" /></control><control type="SharpReport.ReportItems.ReportTextItem" basetype="SharpReportCore.BaseTextItem"><Location value="{X=343,Y=40}" /><Font value="Microsoft Sans Serif, 10pt" /><Text value="QuantityPerUnit" /><FormatString value="" /><StringTrimming value="EllipsisCharacter" /><ContentAlignment value="MiddleLeft" /><DrawBorder value="False" /><ForeColor value="Color [ControlText]" /><Visible value="True" /><CanGrow value="False" /><CanShrink value="False" /><Name value="reportTextItem6" /><Size value="{Width=100, Height=20}" /><BackColor value="Color [White]" /></control><control type="SharpReport.ReportItems.ReportTextItem" basetype="SharpReportCore.BaseTextItem"><Location value="{X=415,Y=40}" /><Font value="Microsoft Sans Serif, 10pt" /><Text value="UnitPrice" /><FormatString value="" /><StringTrimming value="EllipsisCharacter" /><ContentAlignment value="MiddleLeft" /><DrawBorder value="False" /><ForeColor value="Color [ControlText]" /><Visible value="True" /><CanGrow value="False" /><CanShrink value="False" /><Name value="reportTextItem7" /><Size value="{Width=100, Height=20}" /><BackColor value="Color [White]" /></control><control type="SharpReport.ReportItems.ReportTextItem" basetype="SharpReportCore.BaseTextItem"><Location value="{X=487,Y=40}" /><Font value="Microsoft Sans Serif, 10pt" /><Text value="UnitsInStock" /><FormatString value="" /><StringTrimming value="EllipsisCharacter" /><ContentAlignment value="MiddleLeft" /><DrawBorder value="False" /><ForeColor value="Color [ControlText]" /><Visible value="True" /><CanGrow value="False" /><CanShrink value="False" /><Name value="reportTextItem8" /><Size value="{Width=100, Height=20}" /><BackColor value="Color [White]" /></control><control type="SharpReport.ReportItems.ReportTextItem" basetype="SharpReportCore.BaseTextItem"><Location value="{X=559,Y=40}" /><Font value="Microsoft Sans Serif, 10pt" /><Text value="UnitsOnOrder" /><FormatString value="" /><StringTrimming value="EllipsisCharacter" /><ContentAlignment value="MiddleLeft" /><DrawBorder value="False" /><ForeColor value="Color [ControlText]" /><Visible value="True" /><CanGrow value="False" /><CanShrink value="False" /><Name value="reportTextItem9" /><Size value="{Width=100, Height=20}" /><BackColor value="Color [White]" /></control><control type="SharpReport.ReportItems.ReportTextItem" basetype="SharpReportCore.BaseTextItem"><Location value="{X=631,Y=40}" /><Font value="Microsoft Sans Serif, 10pt" /><Text value="ReorderLevel" /><FormatString value="" /><StringTrimming value="EllipsisCharacter" /><ContentAlignment value="MiddleLeft" /><DrawBorder value="False" /><ForeColor value="Color [ControlText]" /><Visible value="True" /><CanGrow value="False" /><CanShrink value="False" /><Name value="reportTextItem10" /><Size value="{Width=100, Height=20}" /><BackColor value="Color [White]" /></control><control type="SharpReport.ReportItems.ReportTextItem" basetype="SharpReportCore.BaseTextItem"><Location value="{X=703,Y=40}" /><Font value="Microsoft Sans Serif, 10pt" /><Text value="Discontinued" /><FormatString value="" /><StringTrimming value="EllipsisCharacter" /><ContentAlignment value="MiddleLeft" /><DrawBorder value="False" /><ForeColor value="Color [ControlText]" /><Visible value="True" /><CanGrow value="False" /><CanShrink value="False" /><Name value="reportTextItem11" /><Size value="{Width=100, Height=20}" /><BackColor value="Color [White]" /></control></controls></section><section name="ReportDetail"><BackColor value="Color [Window]" /><Size value="{Width=803, Height=40}" /><SectionMargin value="50" /><PageBreakAfter value="False" /><CanGrow value="False" /><CanShrink value="False" /><Name value="ReportDetail" /><Location value="{X=0,Y=0}" /><controls><control type="SharpReport.ReportItems.ReportRowItem" basetype="SharpReportCore.RowItem"><Size value="{Width=727, Height=35}" /><Location value="{X=55,Y=0}" /><Font value="Microsoft Sans Serif, 10pt" /><AlternateBackColor value="Color [Empty]" /><ChangeBackColorEveryNRow value="0" /><Padding value="{Left=5,Top=5,Right=5,Bottom=5}" /><Items value="SharpReportCore.ReportItemCollection" /><DrawBorder value="False" /><ForeColor value="Color [ControlText]" /><Visible value="True" /><CanGrow value="False" /><CanShrink value="False" /><Name value="rowItem1" /><BackColor value="Color [White]" /><controls><control type="SharpReport.ReportItems.ReportDataItem" basetype="SharpReportCore.BaseDataItem"><Size value="{Width=67, Height=25}" /><Location value="{X=5,Y=5}" /><Font value="Microsoft Sans Serif, 10pt" /><Text value="ProductID" /><ColumnName value="ProductID" /><DataType value="System.Int32" /><BaseTableName value="Table" /><NullValue value="" /><FormatString value="" /><StringTrimming value="EllipsisCharacter" /><ContentAlignment value="MiddleLeft" /><DrawBorder value="False" /><ForeColor value="Color [ControlText]" /><Visible value="True" /><CanGrow value="False" /><CanShrink value="False" /><Name value="reportDbTextItem1" /><BackColor value="Color [White]" /></control><control type="SharpReport.ReportItems.ReportDataItem" basetype="SharpReportCore.BaseDataItem"><Size value="{Width=67, Height=25}" /><Location value="{X=77,Y=5}" /><Font value="Microsoft Sans Serif, 10pt" /><Text value="ProductName" /><ColumnName value="ProductName" /><DataType value="System.String" /><BaseTableName value="Table" /><NullValue value="" /><FormatString value="" /><StringTrimming value="EllipsisCharacter" /><ContentAlignment value="MiddleLeft" /><DrawBorder value="False" /><ForeColor value="Color [ControlText]" /><Visible value="True" /><CanGrow value="False" /><CanShrink value="False" /><Name value="reportDbTextItem2" /><BackColor value="Color [White]" /></control><control type="SharpReport.ReportItems.ReportDataItem" basetype="SharpReportCore.BaseDataItem"><Size value="{Width=67, Height=25}" /><Location value="{X=149,Y=5}" /><Font value="Microsoft Sans Serif, 10pt" /><Text value="SupplierID" /><ColumnName value="SupplierID" /><DataType value="System.Int32" /><BaseTableName value="Table" /><NullValue value="" /><FormatString value="" /><StringTrimming value="EllipsisCharacter" /><ContentAlignment value="MiddleLeft" /><DrawBorder value="False" /><ForeColor value="Color [ControlText]" /><Visible value="True" /><CanGrow value="False" /><CanShrink value="False" /><Name value="reportDbTextItem3" /><BackColor value="Color [White]" /></control><control type="SharpReport.ReportItems.ReportDataItem" basetype="SharpReportCore.BaseDataItem"><Size value="{Width=67, Height=25}" /><Location value="{X=221,Y=5}" /><Font value="Microsoft Sans Serif, 10pt" /><Text value="CategoryID" /><ColumnName value="CategoryID" /><DataType value="System.Int32" /><BaseTableName value="Table" /><NullValue value="" /><FormatString value="" /><StringTrimming value="EllipsisCharacter" /><ContentAlignment value="MiddleLeft" /><DrawBorder value="False" /><ForeColor value="Color [ControlText]" /><Visible value="True" /><CanGrow value="False" /><CanShrink value="False" /><Name value="reportDbTextItem4" /><BackColor value="Color [White]" /></control><control type="SharpReport.ReportItems.ReportDataItem" basetype="SharpReportCore.BaseDataItem"><Size value="{Width=67, Height=25}" /><Location value="{X=293,Y=5}" /><Font value="Microsoft Sans Serif, 10pt" /><Text value="QuantityPerUnit" /><ColumnName value="QuantityPerUnit" /><DataType value="System.String" /><BaseTableName value="Table" /><NullValue value="" /><FormatString value="" /><StringTrimming value="EllipsisCharacter" /><ContentAlignment value="MiddleLeft" /><DrawBorder value="False" /><ForeColor value="Color [ControlText]" /><Visible value="True" /><CanGrow value="False" /><CanShrink value="False" /><Name value="reportDbTextItem5" /><BackColor value="Color [White]" /></control><control type="SharpReport.ReportItems.ReportDataItem" basetype="SharpReportCore.BaseDataItem"><Size value="{Width=67, Height=25}" /><Location value="{X=365,Y=5}" /><Font value="Microsoft Sans Serif, 10pt" /><Text value="UnitPrice" /><ColumnName value="UnitPrice" /><DataType value="System.Decimal" /><BaseTableName value="Table" /><NullValue value="" /><FormatString value="" /><StringTrimming value="EllipsisCharacter" /><ContentAlignment value="MiddleLeft" /><DrawBorder value="False" /><ForeColor value="Color [ControlText]" /><Visible value="True" /><CanGrow value="False" /><CanShrink value="False" /><Name value="reportDbTextItem6" /><BackColor value="Color [White]" /></control><control type="SharpReport.ReportItems.ReportDataItem" basetype="SharpReportCore.BaseDataItem"><Size value="{Width=67, Height=25}" /><Location value="{X=437,Y=5}" /><Font value="Microsoft Sans Serif, 10pt" /><Text value="UnitsInStock" /><ColumnName value="UnitsInStock" /><DataType value="System.Int16" /><BaseTableName value="Table" /><NullValue value="" /><FormatString value="" /><StringTrimming value="EllipsisCharacter" /><ContentAlignment value="MiddleLeft" /><DrawBorder value="False" /><ForeColor value="Color [ControlText]" /><Visible value="True" /><CanGrow value="False" /><CanShrink value="False" /><Name value="reportDbTextItem7" /><BackColor value="Color [White]" /></control><control type="SharpReport.ReportItems.ReportDataItem" basetype="SharpReportCore.BaseDataItem"><Size value="{Width=67, Height=25}" /><Location value="{X=509,Y=5}" /><Font value="Microsoft Sans Serif, 10pt" /><Text value="UnitsOnOrder" /><ColumnName value="UnitsOnOrder" /><DataType value="System.Int16" /><BaseTableName value="Table" /><NullValue value="" /><FormatString value="" /><StringTrimming value="EllipsisCharacter" /><ContentAlignment value="MiddleLeft" /><DrawBorder value="False" /><ForeColor value="Color [ControlText]" /><Visible value="True" /><CanGrow value="False" /><CanShrink value="False" /><Name value="reportDbTextItem8" /><BackColor value="Color [White]" /></control><control type="SharpReport.ReportItems.ReportDataItem" basetype="SharpReportCore.BaseDataItem"><Size value="{Width=67, Height=25}" /><Location value="{X=581,Y=5}" /><Font value="Microsoft Sans Serif, 10pt" /><Text value="ReorderLevel" /><ColumnName value="ReorderLevel" /><DataType value="System.Int16" /><BaseTableName value="Table" /><NullValue value="" /><FormatString value="" /><StringTrimming value="EllipsisCharacter" /><ContentAlignment value="MiddleLeft" /><DrawBorder value="False" /><ForeColor value="Color [ControlText]" /><Visible value="True" /><CanGrow value="False" /><CanShrink value="False" /><Name value="reportDbTextItem9" /><BackColor value="Color [White]" /></control><control type="SharpReport.ReportItems.ReportDataItem" basetype="SharpReportCore.BaseDataItem"><Size value="{Width=67, Height=25}" /><Location value="{X=653,Y=5}" /><Font value="Microsoft Sans Serif, 10pt" /><Text value="Discontinued" /><ColumnName value="Discontinued" /><DataType value="System.Boolean" /><BaseTableName value="Table" /><NullValue value="" /><FormatString value="" /><StringTrimming value="EllipsisCharacter" /><ContentAlignment value="MiddleLeft" /><DrawBorder value="False" /><ForeColor value="Color [ControlText]" /><Visible value="True" /><CanGrow value="False" /><CanShrink value="False" /><Name value="reportDbTextItem10" /><BackColor value="Color [White]" /></control></controls></control></controls></section><section name="ReportPageFooter"><BackColor value="Color [Window]" /><Size value="{Width=803, Height=40}" /><SectionMargin value="50" /><PageBreakAfter value="False" /><CanGrow value="False" /><CanShrink value="False" /><Name value="ReportPageFooter" /><Location value="{X=0,Y=0}" /><controls><control type="SharpReport.ReportItems.Functions.PageNumber" basetype="SharpReportCore.BasePageNumber"><Size value="{Width=72, Height=25}" /><Location value="{X=50,Y=0}" /><Font value="Microsoft Sans Serif, 10pt" /><Text value="Seiten Nummer" /><LocalisedName value="SharpReport.Toolbar.Functions.PageNumber" /><FormatString value="" /><StringTrimming value="EllipsisCharacter" /><ContentAlignment value="MiddleLeft" /><DrawBorder value="False" /><ForeColor value="Color [ControlText]" /><Visible value="True" /><CanGrow value="False" /><CanShrink value="False" /><Name value="pageNumber1" /><BackColor value="Color [White]" /></control><control type="SharpReport.ReportItems.ReportTextItem" basetype="SharpReportCore.BaseTextItem"><Location value="{X=294,Y=3}" /><Font value="Microsoft Sans Serif, 8.25pt" /><Text value="Items per Page:" /><FormatString value="" /><StringTrimming value="EllipsisCharacter" /><ContentAlignment value="MiddleLeft" /><DrawBorder value="False" /><ForeColor value="Color [ControlText]" /><Visible value="True" /><CanGrow value="False" /><CanShrink value="False" /><Name value="text1" /><Size value="{Width=100, Height=20}" /><BackColor value="Color [White]" /></control><control type="SharpReport.ReportItems.ReportDataItem" basetype="SharpReportCore.BaseDataItem"><Size value="{Width=100, Height=20}" /><Location value="{X=417,Y=4}" /><Font value="Microsoft Sans Serif, 8.25pt" /><Text value="unbound" /><ColumnName value="unbound" /><DataType value="System.String" /><BaseTableName value="" /><NullValue value="" /><FormatString value="" /><StringTrimming value="EllipsisCharacter" /><ContentAlignment value="MiddleLeft" /><DrawBorder value="False" /><ForeColor value="Color [ControlText]" /><Visible value="True" /><CanGrow value="False" /><CanShrink value="False" /><Name value="ItemsPerPage" /><BackColor value="Color [White]" /></control></controls></section><section name="ReportFooter"><BackColor value="Color [Window]" /><Size value="{Width=803, Height=40}" /><SectionMargin value="50" /><PageBreakAfter value="False" /><CanGrow value="False" /><CanShrink value="False" /><Name value="ReportFooter" /><Location value="{X=0,Y=0}" /><controls /></section></SharpReport>
\ No newline at end of file
diff --git a/samples/SharpReport/Unbound/UnboundPullModel.srd b/samples/SharpReport/Unbound/UnboundPullModel.srd
new file mode 100644
index 0000000000..f02e44474a
--- /dev/null
+++ b/samples/SharpReport/Unbound/UnboundPullModel.srd
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?><SharpReport><section name="SharpReportCore.ReportSettings"><AvailableColumns><column><ColumnName value="ShipperID" /><DataType value="" /></column><column><ColumnName value="CompanyName" /><DataType value="" /></column><column><ColumnName value="Phone" /><DataType value="" /></column></AvailableColumns><ReportType value="DataReport" /><ConnectionString value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\SharpReportTester\TestReports\Nwind.mdb;Persist Security Info=False" /><CommandText value="SELECT * FROM Shippers" /><CommandType value="Text" /><DataModel value="PullData" /><DefaultFont value="Microsoft Sans Serif, 16pt" /><ReportName value="SharpReport1" /><DefaultMargins value="50; 50; 50; 50" /><GridSize value="{Width=8, Height=8}" /><Padding value="{Left=5,Top=5,Right=5,Bottom=5}" /></section><section name="ReportHeader"><BackColor value="Color [Window]" /><Size value="{Width=803, Height=40}" /><SectionMargin value="50" /><PageBreakAfter value="False" /><CanGrow value="False" /><CanShrink value="False" /><Name value="ReportHeader" /><Location value="{X=0,Y=0}" /><controls /></section><section name="ReportPageHeader"><BackColor value="Color [Window]" /><Size value="{Width=803, Height=80}" /><SectionMargin value="50" /><PageBreakAfter value="False" /><CanGrow value="False" /><CanShrink value="False" /><Name value="ReportPageHeader" /><Location value="{X=0,Y=0}" /><controls><control type="SharpReport.ReportItems.ReportTextItem" basetype="SharpReportCore.BaseTextItem"><Location value="{X=50,Y=0}" /><Font value="Microsoft Sans Serif, 16pt" /><Text value="SharpReport1" /><FormatString value="" /><StringTrimming value="EllipsisCharacter" /><ContentAlignment value="MiddleLeft" /><DrawBorder value="False" /><ForeColor value="Color [ControlText]" /><Visible value="True" /><CanGrow value="False" /><CanShrink value="False" /><Name value="reportTextItem1" /><Size value="{Width=176, Height=35}" /><BackColor value="Color [Control]" /></control><control type="SharpReport.ReportItems.ReportTextItem" basetype="SharpReportCore.BaseTextItem"><Location value="{X=281,Y=38}" /><Font value="Microsoft Sans Serif, 16pt" /><Text value="CompanyName" /><FormatString value="" /><StringTrimming value="EllipsisCharacter" /><ContentAlignment value="MiddleLeft" /><DrawBorder value="False" /><ForeColor value="Color [ControlText]" /><Visible value="True" /><CanGrow value="False" /><CanShrink value="False" /><Name value="reportTextItem3" /><Size value="{Width=178, Height=30}" /><BackColor value="Color [Control]" /></control><control type="SharpReport.ReportItems.ReportTextItem" basetype="SharpReportCore.BaseTextItem"><Location value="{X=50,Y=40}" /><Font value="Microsoft Sans Serif, 16pt" /><Text value="ShipperID" /><FormatString value="" /><StringTrimming value="EllipsisCharacter" /><ContentAlignment value="MiddleLeft" /><DrawBorder value="False" /><ForeColor value="Color [ControlText]" /><Visible value="True" /><CanGrow value="False" /><CanShrink value="False" /><Name value="reportTextItem2" /><Size value="{Width=100, Height=20}" /><BackColor value="Color [Window]" /></control><control type="SharpReport.ReportItems.ReportTextItem" basetype="SharpReportCore.BaseTextItem"><Location value="{X=534,Y=40}" /><Font value="Microsoft Sans Serif, 16pt" /><Text value="Phone" /><FormatString value="" /><StringTrimming value="EllipsisCharacter" /><ContentAlignment value="MiddleLeft" /><DrawBorder value="False" /><ForeColor value="Color [ControlText]" /><Visible value="True" /><CanGrow value="False" /><CanShrink value="False" /><Name value="reportTextItem4" /><Size value="{Width=100, Height=20}" /><BackColor value="Color [Control]" /></control></controls></section><section name="ReportDetail"><BackColor value="Color [Window]" /><Size value="{Width=803, Height=40}" /><SectionMargin value="50" /><PageBreakAfter value="False" /><CanGrow value="False" /><CanShrink value="False" /><Name value="ReportDetail" /><Location value="{X=0,Y=0}" /><controls><control type="SharpReport.ReportItems.ReportRowItem" basetype="SharpReportCore.RowItem"><Size value="{Width=728, Height=35}" /><Location value="{X=50,Y=0}" /><Font value="Microsoft Sans Serif, 16pt" /><AlternateBackColor value="Color [Empty]" /><ChangeBackColorEveryNRow value="0" /><Padding value="{Left=5,Top=5,Right=5,Bottom=5}" /><Items value="SharpReportCore.ReportItemCollection" /><DrawBorder value="False" /><ForeColor value="Color [ControlText]" /><Visible value="True" /><CanGrow value="False" /><CanShrink value="False" /><Name value="rowItem1" /><BackColor value="Color [Window]" /><controls><control type="SharpReport.ReportItems.ReportDataItem" basetype="SharpReportCore.BaseDataItem"><Size value="{Width=200, Height=25}" /><Location value="{X=5,Y=5}" /><Font value="Microsoft Sans Serif, 16pt" /><Text value="3" /><ColumnName value="ShipperID" /><DataType value="System.Int32" /><BaseTableName value="Table" /><NullValue value="" /><FormatString value="" /><StringTrimming value="EllipsisCharacter" /><ContentAlignment value="MiddleCenter" /><DrawBorder value="False" /><ForeColor value="Color [ControlText]" /><Visible value="True" /><CanGrow value="False" /><CanShrink value="False" /><Name value="reportDbTextItem1" /><BackColor value="Color [Window]" /></control><control type="SharpReport.ReportItems.ReportDataItem" basetype="SharpReportCore.BaseDataItem"><Size value="{Width=234, Height=25}" /><Location value="{X=242,Y=5}" /><Font value="Microsoft Sans Serif, 16pt" /><Text value="Federal Shipping" /><ColumnName value="CompanyName" /><DataType value="System.String" /><BaseTableName value="Table" /><NullValue value="" /><FormatString value="" /><StringTrimming value="EllipsisCharacter" /><ContentAlignment value="MiddleLeft" /><DrawBorder value="False" /><ForeColor value="Color [ControlText]" /><Visible value="True" /><CanGrow value="False" /><CanShrink value="False" /><Name value="reportDbTextItem2" /><BackColor value="Color [Window]" /></control><control type="SharpReport.ReportItems.ReportDataItem" basetype="SharpReportCore.BaseDataItem"><Size value="{Width=234, Height=25}" /><Location value="{X=484,Y=5}" /><Font value="Microsoft Sans Serif, 16pt" /><Text value="(503) 555-9931" /><ColumnName value="Phone" /><DataType value="System.String" /><BaseTableName value="Table" /><NullValue value="" /><FormatString value="" /><StringTrimming value="EllipsisCharacter" /><ContentAlignment value="MiddleLeft" /><DrawBorder value="False" /><ForeColor value="Color [ControlText]" /><Visible value="True" /><CanGrow value="False" /><CanShrink value="False" /><Name value="reportDbTextItem3" /><BackColor value="Color [Window]" /></control></controls></control></controls></section><section name="ReportPageFooter"><BackColor value="Color [Window]" /><Size value="{Width=803, Height=40}" /><SectionMargin value="50" /><PageBreakAfter value="False" /><CanGrow value="False" /><CanShrink value="False" /><Name value="ReportPageFooter" /><Location value="{X=0,Y=0}" /><controls><control type="SharpReport.ReportItems.Functions.PageNumber" basetype="SharpReportCore.BasePageNumber"><Size value="{Width=242, Height=25}" /><Location value="{X=50,Y=0}" /><Font value="Microsoft Sans Serif, 16pt" /><Text value="Seiten Nummer" /><LocalisedName value="SharpReport.Toolbar.Functions.PageNumber" /><FormatString value="" /><StringTrimming value="EllipsisCharacter" /><ContentAlignment value="MiddleLeft" /><DrawBorder value="False" /><ForeColor value="Color [ControlText]" /><Visible value="True" /><CanGrow value="False" /><CanShrink value="False" /><Name value="pageNumber1" /><BackColor value="Color [White]" /></control></controls></section><section name="ReportFooter"><BackColor value="Color [Window]" /><Size value="{Width=803, Height=40}" /><SectionMargin value="50" /><PageBreakAfter value="False" /><CanGrow value="False" /><CanShrink value="False" /><Name value="ReportFooter" /><Location value="{X=0,Y=0}" /><controls /></section></SharpReport>
\ No newline at end of file
diff --git a/src/AddIns/Misc/SharpReport/SharpReportCore/Printing/AbstractRenderer.cs b/src/AddIns/Misc/SharpReport/SharpReportCore/Printing/AbstractRenderer.cs
index cd35796d84..f8a4aaf102 100644
--- a/src/AddIns/Misc/SharpReport/SharpReportCore/Printing/AbstractRenderer.cs
+++ b/src/AddIns/Misc/SharpReport/SharpReportCore/Printing/AbstractRenderer.cs
@@ -65,7 +65,7 @@ namespace SharpReportCore {
 			reportDocument.QueryPageSettings += new QueryPageSettingsEventHandler (ReportQueryPage);
 			reportDocument.BeginPrint += new PrintEventHandler(ReportBegin);
 			reportDocument.EndPrint += new PrintEventHandler(ReportEnd);
-			
+reportDocument.PrintPage += new PrintPageEventHandler(testPageStart);
 			// homemade events
 			reportDocument.PrintPageBodyStart += new EventHandler<ReportPageEventArgs> (BodyStart);
 			
@@ -234,6 +234,7 @@ namespace SharpReportCore {
 			if (rpea == null) {
 				throw new ArgumentNullException("rpea");
 			}
+			System.Console.WriteLine("MeasurePageHeader");
 			sectionInUse = Convert.ToInt16(GlobalEnums.enmSection.ReportPageHeader,
 			                               CultureInfo.InvariantCulture);
 
@@ -248,13 +249,15 @@ namespace SharpReportCore {
 			                   this.CurrentSection.SectionOffset + this.CurrentSection.Size.Height + Gap);
 		}
 		
-		protected PointF  MeasurePageEnd (ReportPageEventArgs e) {
+		protected PointF  MeasurePageFooter (ReportPageEventArgs e) {
+			System.Console.WriteLine("MeasurePageFooter");
 			sectionInUse = Convert.ToInt16(GlobalEnums.enmSection.ReportPageFooter,
 			                               CultureInfo.InvariantCulture);
 			this.CurrentSection.SectionOffset = reportSettings.PageSettings.Bounds.Height - reportSettings.DefaultMargins.Top - reportSettings.DefaultMargins.Bottom;
 			FitSectionToItems (this.CurrentSection,e);
 			this.DetailEnds = new Point (0,this.CurrentSection.SectionOffset);
 			return new PointF(0,this.CurrentSection.SectionOffset);
+//			return this.DetailEnds;
 		}
 		
 		
@@ -382,7 +385,9 @@ namespace SharpReportCore {
 		
 		
 		#region virtuals
-		
+		protected virtual void testPageStart (object sender, PrintPageEventArgs e) {
+			System.Console.WriteLine("PAGESTART");
+		}
 		protected virtual void ReportQueryPage (object sender,QueryPageSettingsEventArgs qpea) {
 			qpea.PageSettings.Margins = reportSettings.DefaultMargins;
 		}
diff --git a/src/AddIns/Misc/SharpReport/SharpReportCore/Printing/RenderDataReport.cs b/src/AddIns/Misc/SharpReport/SharpReportCore/Printing/RenderDataReport.cs
index 417b8208db..9fd21af7b1 100644
--- a/src/AddIns/Misc/SharpReport/SharpReportCore/Printing/RenderDataReport.cs
+++ b/src/AddIns/Misc/SharpReport/SharpReportCore/Printing/RenderDataReport.cs
@@ -93,7 +93,7 @@ namespace SharpReportCore {
 		
 		private void DoPageEnd (ReportPageEventArgs rpea){
 //			System.Console.WriteLine("DataRenderer:DoPageEnd");
-			base.MeasurePageEnd (rpea);
+			base.MeasurePageFooter (rpea);
 			base.RenderSection (rpea);
 			base.DoItems(rpea);
 		}
diff --git a/src/AddIns/Misc/SharpReport/SharpReportCore/Printing/RenderFormSheetReport.cs b/src/AddIns/Misc/SharpReport/SharpReportCore/Printing/RenderFormSheetReport.cs
index e0b8a20ea3..7cbf6a915f 100644
--- a/src/AddIns/Misc/SharpReport/SharpReportCore/Printing/RenderFormSheetReport.cs
+++ b/src/AddIns/Misc/SharpReport/SharpReportCore/Printing/RenderFormSheetReport.cs
@@ -49,6 +49,7 @@ namespace SharpReportCore {
 		
 		#region Draw the different report Sections
 		private PointF DoReportHeader (ReportPageEventArgs rpea){
+			System.Console.WriteLine("\t ReportHeader");
 			PointF endAt = base.MeasureReportHeader (rpea);
 			base.RenderSection (rpea);
 
@@ -61,21 +62,24 @@ namespace SharpReportCore {
 		}
 		
 		private PointF DoPageHeader (PointF startAt,ReportPageEventArgs rpea){
-			
+System.Console.WriteLine("\t PageHeader");
 			PointF endAt = base.MeasurePageHeader (startAt,rpea);
 			base.RenderSection (rpea);
 			return endAt;
 		}
 		
 		private void DoPageEnd (ReportPageEventArgs rpea){
+			
 			base.PrintPageEnd(this,rpea);
-			base.MeasurePageEnd (rpea);
+			base.MeasurePageFooter (rpea);
 			base.RenderSection (rpea);
-
 		}
 		
+		
+		
 		//TODO how should we handle ReportFooter, print it on an seperate page ????
 		private void  DoReportFooter (PointF startAt,ReportPageEventArgs rpea){
+			System.Console.WriteLine("\t ReportFooter");
 			base.MeasureReportFooter(rpea);
 			base.RenderSection (rpea);
 			this.RemoveSectionEvents();
@@ -83,19 +87,44 @@ namespace SharpReportCore {
 		
 		#endregion
 		
-		#region test
+		#region print all the sections
 		
 		protected override void PrintReportHeader (object sender, ReportPageEventArgs e) {
+			System.Console.WriteLine("PRINT REPORTHEADER");
 			base.PrintReportHeader (sender,e);
 			this.currentPoint = DoReportHeader (e);
 		}
 		
 		protected override void PrintPageHeader (object sender, ReportPageEventArgs e) {
+			System.Console.WriteLine("PRINT PAGEHEDER");
 			base.PrintPageHeader (sender,e);
 			this.currentPoint = DoPageHeader (this.currentPoint,e);
 			base.DetailStart = new Point ((int)currentPoint.X,(int)currentPoint.Y);
 		}
 		
+		protected override void PrintDetail(object sender, ReportPageEventArgs rpea){
+			base.PrintDetail(sender, rpea);
+			System.Console.WriteLine("PRINT DETAIL");
+			base.RenderSection(rpea);
+			base.RemoveSectionEvents();
+		}
+		
+		protected override void PrintReportFooter(object sender, ReportPageEventArgs rpea){
+			System.Console.WriteLine("PRINT REPORTFOOTER");
+			base.PrintReportFooter(sender, rpea);
+			base.RenderSection(rpea);
+			base.RemoveSectionEvents();
+		}
+		
+		/// <summary>
+		/// Print the PageFooter 
+		/// </summary>
+		/// <param name="sender"></param>
+		/// <param name="e"></param>
+		protected override void PrintPageEnd(object sender, ReportPageEventArgs rpea) {
+			System.Console.WriteLine("PRINTPAGEEND");
+			this.DoPageEnd (rpea);
+		}
 		#endregion
 		
 		
@@ -115,15 +144,6 @@ namespace SharpReportCore {
 			base.RenderSection (rpea);
 
 		}
-		/// <summary>
-		/// Print the PageFooter 
-		/// </summary>
-		/// <param name="sender"></param>
-		/// <param name="e"></param>
-		protected override void PrintPageEnd(object sender, ReportPageEventArgs rpea) {
-			this.DoPageEnd (rpea);
-		}
-		
 		
 		
 		protected override void OnBodyEnd (object sender,ReportPageEventArgs rpea) {
diff --git a/src/AddIns/Misc/SharpReport/SharpReportCore/Printing/ReportDocument.cs b/src/AddIns/Misc/SharpReport/SharpReportCore/Printing/ReportDocument.cs
index 6bc24ed2a1..70886a6524 100644
--- a/src/AddIns/Misc/SharpReport/SharpReportCore/Printing/ReportDocument.cs
+++ b/src/AddIns/Misc/SharpReport/SharpReportCore/Printing/ReportDocument.cs
@@ -64,6 +64,7 @@ namespace SharpReportCore {
 //				this.OnEndPrint (new PrintEventArgs());
 			}
 		}
+
 		
 		protected override void OnEndPrint(PrintEventArgs e){
 			base.OnEndPrint(e);