Esempio n. 1
0
        /*
         * 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;
            }
        }
Esempio n. 2
0
        /// <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);
        }
Esempio n. 3
0
        /// <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);
        }