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);