private bool IsTextboxInScope() { OnDemandProcessingContext odpContext = m_reportRT.ReportObjectModel.OdpContext; IRIFReportScope iRIFReportScope = null; if (odpContext.IsTablixProcessingMode) { iRIFReportScope = odpContext.LastTablixProcessingReportScope; if (iRIFReportScope == null) { iRIFReportScope = odpContext.ReportDefinition; } } else if (odpContext.IsTopLevelSubReportProcessing) { Microsoft.ReportingServices.ReportIntermediateFormat.SubReport subReport = odpContext.LastRIFObject as Microsoft.ReportingServices.ReportIntermediateFormat.SubReport; Global.Tracer.Assert(subReport != null, "Missing reference to subreport object"); iRIFReportScope = subReport.GetContainingSection(odpContext); } else { IReportScope currentReportScope = odpContext.CurrentReportScope; iRIFReportScope = ((currentReportScope == null) ? odpContext.ReportDefinition : currentReportScope.RIFReportScope); } if (iRIFReportScope == null || !iRIFReportScope.TextboxInScope(m_textBox.SequenceID)) { return(false); } return(true); }
private static OnDemandProcessingContext InitializeSubReport(OnDemandProcessingContext parentOdpContext, Microsoft.ReportingServices.ReportIntermediateFormat.SubReport subReport, Microsoft.ReportingServices.ReportIntermediateFormat.ReportInstance reportInstance, bool inDataRegion, bool fromCreateSubReportInstance, out bool prefetchSuccess) { Global.Tracer.Assert(subReport.OdpContext != null, "(null != subReport.OdpContext)"); prefetchSuccess = true; if (!inDataRegion) { IReference <Microsoft.ReportingServices.ReportIntermediateFormat.SubReportInstance> reference2 = subReport.CurrentSubReportInstance = ((subReport.OdpContext.SnapshotProcessing && !subReport.OdpContext.ReprocessSnapshot) ? reportInstance.SubreportInstances[subReport.IndexInCollection] : Microsoft.ReportingServices.ReportIntermediateFormat.SubReportInstance.CreateInstance(reportInstance, subReport, parentOdpContext.OdpMetadata)); if (!fromCreateSubReportInstance) { ReportSection containingSection = subReport.GetContainingSection(parentOdpContext); parentOdpContext.SetupContext(containingSection, null); } Merge merge = new Merge(subReport.Report, subReport.OdpContext); prefetchSuccess = merge.InitAndSetupSubReport(subReport); } return(subReport.OdpContext); }