/* * protected static ColumnCollection CollectFieldsFromModel(ReportModel model){ * if (model == null) { * throw new ArgumentNullException("model"); * } * ColumnCollection col = new ColumnCollection(); * * foreach (BaseSection section in model.SectionCollection){ * for (int i = 0;i < section.Items.Count ;i ++ ) { * IReportItem item = section.Items[i]; * BaseDataItem baseItem = item as BaseDataItem; * if (baseItem != null) { * col.Add(new AbstractColumn(baseItem.ColumnName)); * } * } * } * return col; * } */ /// <summary> /// Creates an <see cref="AbstractRenderer"></see> /// any Class deriving from this can be /// used to get a <see cref="System.Drawing.Printing.PrintDocument"></see> /// </summary> /// <param name="model"><see cref="ReportModel"></see></param> /// <returns></returns> protected AbstractRenderer SetupStandardRenderer(IReportModel model, ReportParameters parameters) { AbstractRenderer abstr = null; try { switch (model.ReportSettings.ReportType) { //FormSheets reports case GlobalEnums.ReportType.FormSheet: abstr = RendererFactory.Create(model, null); break; //Databased reports case GlobalEnums.ReportType.DataReport: IDataManager dataMan = DataManagerFactory.CreateDataManager(model, parameters); abstr = RendererFactory.Create(model, dataMan); break; default: throw new ReportException("SharpReportmanager:SetupRenderer -> Unknown Reporttype"); } abstr.Rendering += new EventHandler <SectionRenderEventArgs>(OnSectionPrinting); abstr.SectionRendered += new EventHandler <SectionRenderEventArgs>(OnSectionPrinted); return(abstr); } catch (Exception) { throw; } }
/// <summary> /// For internal use only /// </summary> /// <param name="reportModel"></param> /// <returns></returns> public static IReportCreator CreatePageBuilder(IReportModel reportModel) { if (reportModel == null) { throw new ArgumentNullException("reportModel"); } IDataManager dataMan = DataManagerFactory.CreateDataManager(reportModel, (ReportParameters)null); IReportCreator builder = DataPageBuilder.CreateInstance(reportModel, dataMan); return(builder); }
/// <summary> /// Use this method for pullData and FormSheet /// </summary> /// <param name="fileName"></param> /// <param name="reportParameters">null if no parameters are used</param> /// <returns><see cref="BasePager"</returns> public static IReportCreator CreatePageBuilder(string fileName, ReportParameters reportParameters) { if (String.IsNullOrEmpty(fileName)) { throw new ArgumentNullException("fileName"); } IReportModel reportModel = LoadReportModel(fileName); IReportCreator builder = null; if (reportModel.DataModel == GlobalEnums.PushPullModel.FormSheet) { builder = FormPageBuilder.CreateInstance(reportModel); } else { CheckForParameters(reportModel, reportParameters); IDataManager dataMan = DataManagerFactory.CreateDataManager(reportModel, reportParameters); builder = DataPageBuilder.CreateInstance(reportModel, dataMan); } return(builder); }