Пример #1
0
        public RipartoSubreport(IList<ReportRipartizioneBilancioDTO> dataSource, CondominioDTO condominio, EsercizioDTO esercizio, BilancioConsuntivoReportParameters parameters, ImpostazioneReportDTO impostazioneReportDTO, decimal importoTotale, decimal importoPreventivo) : base(condominio, esercizio, null ,null, false, true)
        {
            _impostazioneReportDTO = impostazioneReportDTO;
            base.Inizializza(impostazioneReportDTO, parameters.Note);

            if (impostazioneReportDTO.MultiPage)
            {
                var helper = new RipartoHelper(dataSource, impostazioneReportDTO);
                var columns = helper.GetColumnList(null, null, null, null);
                var pagine = columns.Select(item => item.PrintPage).Distinct().ToList();
                _mergeReports = new List<RipartoSinglePage>(pagine.Count);

                foreach (var i in pagine)
                {
                    var columnsPage = columns.Where(item => item.PrintPage == i).Select(item => item.Order);
                    var dataSourcePage = dataSource.Where(item => (item.OrdineConto == 0 && item.IdConto == 0) || columnsPage.Contains(item.OrdineConto)).ToList();
                    var pageReport = new RipartoSinglePage(dataSourcePage, condominio, esercizio, parameters, impostazioneReportDTO, importoTotale, importoPreventivo, i, true);
                    _mergeReports.Add(pageReport);
                    pageReport.CreateDocument(impostazioneReportDTO);
                }

                _reportMerge = _report;
                _reportMerge.BeforePrint += XtraReportMerged_BeforePrint;
            }
            else
            {
                var riparto = new RipartoSinglePage(dataSource, condominio, esercizio, parameters, impostazioneReportDTO, importoTotale, importoPreventivo, null, false);
                var report = riparto.GetReport();
                _reportMerge = report;
            }}
Пример #2
0
        public RipartoMerge(IList<ReportRipartizioneBilancioDTO> dataSource, CondominioDTO condominio, EsercizioDTO esercizio, BilancioConsuntivoReportParameters parameters, ImpostazioneReportDTO impostazioneReportDTO, decimal importoTotale, decimal importoPreventivo)
        {
            if (impostazioneReportDTO.MultiPage)
            {
                var helper = new RipartoHelper(dataSource, impostazioneReportDTO);
                var columns = helper.GetColumnList(null, null, null, 1);
                var pagine = columns.Select(item => item.PrintPage).Distinct().ToList();

                IList<XtraReport> reports = new List<XtraReport>();

                foreach (var i in pagine)
                {
                    var columnsPage = columns.Where(item => item.PrintPage == i).Select(item => item.Order);
                    var dataSourcePage = dataSource.Where(item => item.OrdineConto == 0 || columnsPage.Contains(item.OrdineConto)).ToList();
                    var riparto = new RipartoSinglePage(dataSourcePage, condominio, esercizio, parameters, impostazioneReportDTO, importoTotale, importoPreventivo, i, false);
                    var report = riparto.GetReport();
                    report.CreateDocument();
                    if (impostazioneReportDTO.FitToPage)
                        report.PrintingSystem.Document.AutoFitToPagesWidth = 1;
                    reports.Add(report);
                }

                _reportMerge = BaseReportContainer.GetXtraReport(impostazioneReportDTO, false);
                _reportMerge.CreateDocument();
                var pageNumber = reports[0].Pages.Count;
                for (int i = 0; i < pageNumber; i++)
                {
                    foreach (var xtraReport in reports)
                    {
                        if (xtraReport.Pages.Count > i)
                            _reportMerge.Pages.Add(xtraReport.Pages[i]);
                    }
                }

                // Reset all page numbers in the resulting document. 
                _reportMerge.PrintingSystem.ContinuousPageNumbering = true;
            }
            else
            {
                var riparto = new RipartoSinglePage(dataSource, condominio, esercizio, parameters, impostazioneReportDTO, importoTotale, importoPreventivo, null, false);
                var report = riparto.GetReport();
                _reportMerge = report;
            }
        }
Пример #3
0
        public XRSubreport SetReport(RipartoSinglePage report, BandKind band)
        {
            var subreport = new XRSubreport
            {
                ReportSource = report.GetReport(),
                LocationF = new PointF(0, _location + .01f)
            };
            _report.Bands[band].Controls.Add(subreport);

            _location += report.GetTotalHeight();

            if (band == BandKind.Detail && _location > 0 && _pagesStartOnNewPage)
            {
                var pageBreak = new XRPageBreak();
                _report.Bands[band].Controls.Add(pageBreak);
                pageBreak.LocationF = new PointF(0, _location + .01f);
            }
            return subreport;
        }
Пример #4
0
        private void mergeReport(RipartoSinglePage mergeReport)
        {
            var subreport = SetReport(mergeReport, BandKind.Detail);

        }