/* * Created by SharpDevelop. * User: Forstmeier Helmut * Date: 18.07.2006 * Time: 22:10 * * To change this template use Tools | Options | Coding | Edit Standard Headers. */ using System; using System.Windows.Forms; using SharpReportCore; namespace ReportSamples { /// /// Description of UnboundFormSheet. /// public class UnboundFormSheet { public UnboundFormSheet() { } 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 engine = new SharpReportCore.SharpReportEngine(); engine.SectionRendering += new EventHandler(UnboundPrinting); engine.SectionRendered += new EventHandler(UnboundPrinted); engine.PreviewStandartReport(dg.FileName.ToString()); } } catch(Exception er) { MessageBox.Show(er.ToString(),"MainForm"); } } private void UnboundPrinting (object sender,SectionRenderEventArgs e) { System.Console.WriteLine("UnboundFormSheet"); switch (e.CurrentSection) { case GlobalEnums.enmSection.ReportHeader: System.Console.WriteLine("\tReportHeader"); BaseDataItem a = e.Section.Items.Find("reportHeaderLabel")as BaseDataItem; System.Console.WriteLine("\t{0}",a.Font.ToString()); if (a != null) { a.DbValue = "The Report starts here"; } break; case GlobalEnums.enmSection.ReportPageHeader: System.Console.WriteLine("\tPageheader"); System.Console.WriteLine(""); BaseDataItem b = e.Section.Items.Find("pageHeaderLabel")as BaseDataItem; if (b != null) { b.DbValue = "This is the Pageheader"; } break; case GlobalEnums.enmSection.ReportDetail: System.Console.WriteLine("\tReportDetail"); BaseDataItem c = e.Section.Items.Find("detailLabel")as BaseDataItem; if (c != null) { c.DbValue = "The Detail Section"; } break; case GlobalEnums.enmSection.ReportPageFooter: System.Console.WriteLine("\tPageFooter"); BaseDataItem d = e.Section.Items.Find("pageFooterLabel")as BaseDataItem; if (d != null) { d.DbValue = "Page Footer"; } break; case GlobalEnums.enmSection.ReportFooter: System.Console.WriteLine("\tReportFooter"); BaseDataItem ee = e.Section.Items.Find("reportFooterLabel")as BaseDataItem; if (ee != null) { ee.DbValue = "Report Footer is printed before PageFooter"; } break; default: break; } } private void UnboundPrinted (object sender,SectionRenderEventArgs e) { // System.Console.WriteLine("---Rendering done <{0}>-----",e.CurrentSection); } } }