コード例 #1
0
        private void InitializeEnvironment()
        {
            m_processingContext = m_romReport.HeaderFooterRenderingContext.OdpContext;
            Microsoft.ReportingServices.ReportIntermediateFormat.Report reportDef = m_romReport.ReportDef;
            ObjectModelImpl reportObjectModel = m_processingContext.ReportObjectModel;

            if (reportDef.DataSetsNotOnlyUsedInParameters == 1)
            {
                m_processingContext.SetupFieldsForNewDataSetPageSection(reportDef.FirstDataSet);
            }
            else
            {
                m_processingContext.SetupEmptyTopLevelFields();
            }
            reportObjectModel.VariablesImpl = new VariablesImpl(lockAdd: false);
            if (reportDef.HasVariables)
            {
                Microsoft.ReportingServices.ReportIntermediateFormat.ReportInstance currentReportInstance = m_romReport.RenderingContext.OdpContext.CurrentReportInstance;
                m_processingContext.RuntimeInitializePageSectionVariables(reportDef, currentReportInstance?.VariableValues);
            }
            reportObjectModel.LookupsImpl = new LookupsImpl();
            if (reportDef.HasLookups)
            {
                m_processingContext.RuntimeInitializeLookups(reportDef);
            }
            ReportItemsImpl reportItemsImpl = new ReportItemsImpl(lockAdd: false);

            foreach (ReportSection reportSection in m_romReport.ReportSections)
            {
                Microsoft.ReportingServices.ReportIntermediateFormat.ReportSection sectionDef = reportSection.SectionDef;
                reportSection.BodyItemsForHeadFoot        = new ReportItemsImpl(lockAdd: false);
                reportSection.PageSectionItemsForHeadFoot = new ReportItemsImpl(lockAdd: false);
                reportObjectModel.ReportItemsImpl         = reportSection.BodyItemsForHeadFoot;
                m_processingContext.RuntimeInitializeTextboxObjs(sectionDef.ReportItems, setExprHost: false);
                reportObjectModel.ReportItemsImpl = reportSection.PageSectionItemsForHeadFoot;
                Microsoft.ReportingServices.ReportIntermediateFormat.Page page = sectionDef.Page;
                if (page.PageHeader != null)
                {
                    if (m_processingContext.ReportRuntime.ReportExprHost != null)
                    {
                        page.PageHeader.SetExprHost(m_processingContext.ReportRuntime.ReportExprHost, reportObjectModel);
                    }
                    m_processingContext.RuntimeInitializeReportItemObjs(page.PageHeader.ReportItems, traverseDataRegions: false);
                    m_processingContext.RuntimeInitializeTextboxObjs(page.PageHeader.ReportItems, setExprHost: true);
                }
                if (page.PageFooter != null)
                {
                    if (m_processingContext.ReportRuntime.ReportExprHost != null)
                    {
                        page.PageFooter.SetExprHost(m_processingContext.ReportRuntime.ReportExprHost, reportObjectModel);
                    }
                    m_processingContext.RuntimeInitializeReportItemObjs(page.PageFooter.ReportItems, traverseDataRegions: false);
                    m_processingContext.RuntimeInitializeTextboxObjs(page.PageFooter.ReportItems, setExprHost: true);
                }
                reportItemsImpl.AddAll(reportSection.BodyItemsForHeadFoot);
                reportItemsImpl.AddAll(reportSection.PageSectionItemsForHeadFoot);
            }
            reportObjectModel.ReportItemsImpl = reportItemsImpl;
            reportObjectModel.AggregatesImpl  = new AggregatesImpl(m_processingContext);
        }
コード例 #2
0
 internal TextBoxImpl GetTextBoxImpl(OnDemandProcessingContext context)
 {
     if (m_textBoxImpl == null)
     {
         _ = context.ReportRuntime;
         ReportItemsImpl reportItemsImpl = context.ReportObjectModel.ReportItemsImpl;
         m_textBoxImpl = (TextBoxImpl)reportItemsImpl.GetReportItem(m_name);
         Global.Tracer.Assert(m_textBoxImpl != null, "(m_textBoxImpl != null)");
     }
     return(m_textBoxImpl);
 }
コード例 #3
0
 public TextBoxImpl GetTextBoxImpl(OnDemandProcessingContext context)
 {
     if (this.m_textBoxImpl == null)
     {
         AspNetCore.ReportingServices.RdlExpressions.ReportRuntime reportRuntime = context.ReportRuntime;
         ReportItemsImpl reportItemsImpl = context.ReportObjectModel.ReportItemsImpl;
         this.m_textBoxImpl = (TextBoxImpl)reportItemsImpl.GetReportItem(base.m_name);
         Global.Tracer.Assert(this.m_textBoxImpl != null, "(m_textBoxImpl != null)");
     }
     return(this.m_textBoxImpl);
 }