コード例 #1
0
        internal override object PublishClone(AutomaticSubtotalContext context)
        {
            ReportItemCollection reportItemCollection = (ReportItemCollection)base.PublishClone(context);

            context.AddReportItemCollection(reportItemCollection);
            if (m_entries != null)
            {
                CustomReportItem customReportItem = null;
                reportItemCollection.m_entries = new List <ReportItem>();
                foreach (ReportItem entry in m_entries)
                {
                    ReportItem reportItem = (ReportItem)entry.PublishClone(context);
                    reportItemCollection.m_entries.Add(reportItem);
                    if (reportItem is CustomReportItem)
                    {
                        Global.Tracer.Assert(customReportItem == null, "(lastCriPublishClone == null)");
                        customReportItem = (CustomReportItem)reportItem;
                    }
                    else if (customReportItem != null)
                    {
                        customReportItem.AltReportItem = reportItem;
                        customReportItem = null;
                    }
                }
                Global.Tracer.Assert(customReportItem == null, "(lastCriPublishClone == null)");
            }
            if (m_linkToChildName != null)
            {
                reportItemCollection.m_linkToChildName = context.GetNewReportItemName(m_linkToChildName);
            }
            return(reportItemCollection);
        }
コード例 #2
0
 internal ReportItemCollection(IReportScope reportScope, IDefinitionPath parentDefinitionPath, Microsoft.ReportingServices.ReportIntermediateFormat.ReportItemCollection reportItemColDef, RenderingContext renderingContext)
 {
     m_reportScope          = reportScope;
     m_parentDefinitionPath = parentDefinitionPath;
     m_isOldSnapshot        = false;
     m_reportItemColDef     = reportItemColDef;
     m_renderingContext     = renderingContext;
 }
コード例 #3
0
 internal ReportSection(int indexInCollection, Report report, int id, int idForReportItems)
     : base(id, report)
 {
     m_publishingIndexInCollection = indexInCollection;
     m_height      = "11in";
     m_width       = "8.5in";
     m_reportItems = new ReportItemCollection(idForReportItems, normal: true);
 }
コード例 #4
0
        public override void Deserialize(IntermediateFormatReader reader)
        {
            base.Deserialize(reader);
            reader.RegisterDeclaration(m_Declaration);
            while (reader.NextMember())
            {
                switch (reader.CurrentMember.MemberName)
                {
                case MemberName.Page:
                    m_page = (Page)reader.ReadRIFObject();
                    break;

                case MemberName.ReportItems:
                    m_reportItems = (ReportItemCollection)reader.ReadRIFObject();
                    break;

                case MemberName.TextboxesInScope:
                    m_textboxesInScope = reader.ReadByteArray();
                    break;

                case MemberName.VariablesInScope:
                    m_variablesInScope = reader.ReadByteArray();
                    break;

                case MemberName.NeedsTotalPages:
                case MemberName.NeedsOverallTotalPages:
                    m_needsOverallTotalPages = reader.ReadBoolean();
                    break;

                case MemberName.NeedsPageBreakTotalPages:
                    m_needsPageBreakTotalPages = reader.ReadBoolean();
                    break;

                case MemberName.NeedsReportItemsOnPage:
                    m_needsReportItemsOnPage = reader.ReadBoolean();
                    break;

                case MemberName.InScopeTextBoxes:
                    m_inScopeTextBoxes = reader.ReadGenericListOfReferences <TextBox>(this);
                    break;

                case MemberName.LayoutDirection:
                    m_layoutDirection = reader.ReadBoolean();
                    break;

                default:
                    Global.Tracer.Assert(condition: false);
                    break;
                }
            }
        }
コード例 #5
0
        public override void Deserialize(IntermediateFormatReader reader)
        {
            base.Deserialize(reader);
            m_isDataRegion = (m_dataSetName != null);
            reader.RegisterDeclaration(m_Declaration);
            while (reader.NextMember())
            {
                switch (reader.CurrentMember.MemberName)
                {
                case MemberName.DataColumnMembers:
                    m_dataColumnMembers = reader.ReadListOfRIFObjects <DataMemberList>();
                    break;

                case MemberName.DataRowMembers:
                    m_dataRowMembers = reader.ReadListOfRIFObjects <DataMemberList>();
                    break;

                case MemberName.DataRows:
                    m_dataRows = reader.ReadListOfRIFObjects <CustomDataRowList>();
                    break;

                case MemberName.Type:
                    m_type = reader.ReadString();
                    break;

                case MemberName.AltReportItem:
                    m_altReportItem = reader.ReadReference <ReportItem>(this);
                    break;

                case MemberName.AltReportItemIndexInParentCollectionDef:
                    m_altReportItemIndexInParentCollectionDef = reader.ReadInt32();
                    break;

                case MemberName.RenderReportItemColDef:
                    m_renderReportItem = (ReportItemCollection)reader.ReadRIFObject();
                    break;

                case MemberName.ExplicitAltReportItem:
                    m_explicitAltReportItemDefined = reader.ReadBoolean();
                    break;

                case MemberName.IsDataRegion:
                    m_isDataRegion = reader.ReadBoolean();
                    break;

                default:
                    Global.Tracer.Assert(condition: false);
                    break;
                }
            }
        }
コード例 #6
0
        public override void Deserialize(IntermediateFormatReader reader)
        {
            base.Deserialize(reader);
            reader.RegisterDeclaration(m_Declaration);
            while (reader.NextMember())
            {
                switch (reader.CurrentMember.MemberName)
                {
                case MemberName.ReportItems:
                    m_reportItems = (ReportItemCollection)reader.ReadRIFObject();
                    break;

                case MemberName.PageBreakLocation:
                    m_pageBreak = new PageBreak();
                    m_pageBreak.BreakLocation = (PageBreakLocation)reader.ReadEnum();
                    break;

                case MemberName.LinkToChild:
                    m_linkToChild = reader.ReadInt32();
                    break;

                case MemberName.OmitBorderOnPageBreak:
                    m_omitBorderOnPageBreak = reader.ReadBoolean();
                    break;

                case MemberName.KeepTogether:
                    m_keepTogether = reader.ReadBoolean();
                    break;

                case MemberName.IsSimple:
                    m_isSimple = reader.ReadBoolean();
                    break;

                case MemberName.PageBreak:
                    m_pageBreak = (PageBreak)reader.ReadRIFObject();
                    break;

                case MemberName.PageName:
                    m_pageName = (ExpressionInfo)reader.ReadRIFObject();
                    break;

                default:
                    Global.Tracer.Assert(condition: false);
                    break;
                }
            }
        }
コード例 #7
0
        public override void Deserialize(IntermediateFormatReader reader)
        {
            base.Deserialize(reader);
            reader.RegisterDeclaration(m_Declaration);
            while (reader.NextMember())
            {
                switch (reader.CurrentMember.MemberName)
                {
                case MemberName.PrintOnFirstPage:
                    m_printOnFirstPage = reader.ReadBoolean();
                    break;

                case MemberName.PrintOnLastPage:
                    m_printOnLastPage = reader.ReadBoolean();
                    break;

                case MemberName.ReportItems:
                    m_reportItems = (ReportItemCollection)reader.ReadRIFObject();
                    break;

                case MemberName.PostProcessEvaluate:
                    m_postProcessEvaluate = reader.ReadBoolean();
                    break;

                case MemberName.PrintBetweenSections:
                    m_printBetweenSections = reader.ReadBoolean();
                    break;

                default:
                    Global.Tracer.Assert(condition: false);
                    break;
                }
            }
            if (m_name == null)
            {
                if (IsHeader)
                {
                    m_name = "PageHeader";
                }
                else
                {
                    m_name = "PageFooter";
                }
            }
        }
コード例 #8
0
 internal Rectangle(int id, int idForReportItems, ReportItem parent)
     : base(id, parent)
 {
     m_reportItems = new ReportItemCollection(idForReportItems, normal: true);
 }
コード例 #9
0
        private void CreateDataRegions(IReference <IScope> owner, Microsoft.ReportingServices.ReportIntermediateFormat.ReportItem reportItem, OnDemandProcessingContext odpContext, bool onePass, ref DataActions dataAction)
        {
            RuntimeDataTablixObj runtimeDataTablixObj = null;

            switch (reportItem.ObjectType)
            {
            case Microsoft.ReportingServices.ReportProcessing.ObjectType.Rectangle:
            {
                Microsoft.ReportingServices.ReportIntermediateFormat.ReportItemCollection reportItems = ((Microsoft.ReportingServices.ReportIntermediateFormat.Rectangle)reportItem).ReportItems;
                if (reportItems != null && reportItems.ComputedReportItems != null)
                {
                    CreateDataRegions(owner, reportItems.ComputedReportItems, odpContext, onePass, ref dataAction);
                }
                break;
            }

            case Microsoft.ReportingServices.ReportProcessing.ObjectType.Tablix:
                runtimeDataTablixObj = new RuntimeTablixObj(owner, (Microsoft.ReportingServices.ReportIntermediateFormat.Tablix)reportItem, ref dataAction, odpContext, onePass);
                break;

            case Microsoft.ReportingServices.ReportProcessing.ObjectType.Chart:
                runtimeDataTablixObj = new RuntimeChartObj(owner, (Microsoft.ReportingServices.ReportIntermediateFormat.Chart)reportItem, ref dataAction, odpContext, onePass);
                break;

            case Microsoft.ReportingServices.ReportProcessing.ObjectType.GaugePanel:
                runtimeDataTablixObj = new RuntimeGaugePanelObj(owner, (GaugePanel)reportItem, ref dataAction, odpContext, onePass);
                break;

            case Microsoft.ReportingServices.ReportProcessing.ObjectType.MapDataRegion:
                runtimeDataTablixObj = new RuntimeMapDataRegionObj(owner, (MapDataRegion)reportItem, ref dataAction, odpContext, onePass);
                break;

            case Microsoft.ReportingServices.ReportProcessing.ObjectType.CustomReportItem:
                if (reportItem.IsDataRegion)
                {
                    runtimeDataTablixObj = new RuntimeCriObj(owner, (Microsoft.ReportingServices.ReportIntermediateFormat.CustomReportItem)reportItem, ref dataAction, odpContext, onePass);
                }
                break;

            case Microsoft.ReportingServices.ReportProcessing.ObjectType.Map:
            {
                List <MapDataRegion> mapDataRegions = ((Map)reportItem).MapDataRegions;
                if (mapDataRegions != null)
                {
                    CreateMapDataRegions(owner, mapDataRegions, odpContext, onePass, ref dataAction);
                }
                break;
            }
            }
            if (runtimeDataTablixObj != null)
            {
                AddDataRegion(runtimeDataTablixObj, (Microsoft.ReportingServices.ReportIntermediateFormat.DataRegion)reportItem);
            }
        }
コード例 #10
0
 internal PageSection(bool isHeader, int id, int idForReportItems, ReportSection reportSection)
     : base(id, reportSection)
 {
     m_reportItems = new ReportItemCollection(idForReportItems, normal: true);
     m_isHeader    = isHeader;
 }
コード例 #11
0
 internal void AddReportItemCollection(Microsoft.ReportingServices.ReportIntermediateFormat.ReportItemCollection collection)
 {
     m_reportItemCollections.Add(collection);
 }