예제 #1
0
        private void RunReportPage(ReportPage page)
        {
            FPage = page;
            InitReprint();

            FPage.OnStartPage(EventArgs.Empty);
            StartFirstPage();
            OnStateChanged(FPage, EngineState.ReportPageStarted);
            OnStateChanged(FPage, EngineState.PageStarted);

            DataBand keepSummaryBand = FindDeepmostDataBand(page);

            if (keepSummaryBand != null)
            {
                keepSummaryBand.KeepSummary = true;
            }

            if (FPage.IsManualBuild)
            {
                FPage.OnManualBuild(EventArgs.Empty);
            }
            else
            {
                RunBands(page.Bands);
            }

            OnStateChanged(FPage, EngineState.PageFinished);
            OnStateChanged(FPage, EngineState.ReportPageFinished);
            EndLastPage();
            FPage.OnFinishPage(EventArgs.Empty);
        }