コード例 #1
0
        internal virtual object PublishClone(AutomaticSubtotalContext context)
        {
            IDOwner obj = (IDOwner)MemberwiseClone();

            obj.m_ID      = context.GenerateID();
            obj.m_isClone = true;
            return(obj);
        }
コード例 #2
0
ファイル: Cell.cs プロジェクト: zatuliveter/reportviewercore
        public override void ResolveReferences(Dictionary <Microsoft.ReportingServices.ReportIntermediateFormat.Persistence.ObjectType, List <MemberReference> > memberReferencesCollection, Dictionary <int, IReferenceable> referenceableItems)
        {
            if (!memberReferencesCollection.TryGetValue(m_Declaration.ObjectType, out List <MemberReference> value))
            {
                return;
            }
            foreach (MemberReference item2 in value)
            {
                switch (item2.MemberName)
                {
                case MemberName.ParentRowID:
                    Global.Tracer.Assert(referenceableItems.ContainsKey(item2.RefID), "ParentRowID");
                    m_parentIDOwner = (IDOwner)referenceableItems[item2.RefID];
                    m_parentRowID   = item2.RefID;
                    break;

                case MemberName.ParentColumnID:
                    Global.Tracer.Assert(referenceableItems.ContainsKey(item2.RefID), "ParentColumnID");
                    m_parentColumnIDOwner = (IDOwner)referenceableItems[item2.RefID];
                    m_parentColumnID      = item2.RefID;
                    break;

                case MemberName.DataRegionDef:
                {
                    referenceableItems.TryGetValue(item2.RefID, out IReferenceable value3);
                    Global.Tracer.Assert(value3 != null && ((ReportItem)value3).IsDataRegion, "DataRegionDef");
                    m_dataRegionDef = (DataRegion)value3;
                    break;
                }

                case MemberName.InScopeEventSources:
                {
                    referenceableItems.TryGetValue(item2.RefID, out IReferenceable value2);
                    IInScopeEventSource item = (IInScopeEventSource)value2;
                    if (m_inScopeEventSources == null)
                    {
                        m_inScopeEventSources = new List <IInScopeEventSource>();
                    }
                    m_inScopeEventSources.Add(item);
                    break;
                }

                default:
                    Global.Tracer.Assert(condition: false);
                    break;
                }
            }
        }
コード例 #3
0
ファイル: Cell.cs プロジェクト: zatuliveter/reportviewercore
        public override void Deserialize(IntermediateFormatReader reader)
        {
            base.Deserialize(reader);
            reader.RegisterDeclaration(m_Declaration);
            while (reader.NextMember())
            {
                switch (reader.CurrentMember.MemberName)
                {
                case MemberName.ExprHostID:
                    m_exprHostID = reader.ReadInt32();
                    break;

                case MemberName.ParentRowID:
                    m_parentIDOwner = reader.ReadReference <IDOwner>(this);
                    if (m_parentIDOwner != null)
                    {
                        m_parentRowID = m_parentIDOwner.ID;
                    }
                    break;

                case MemberName.ParentColumnID:
                    m_parentColumnIDOwner = reader.ReadReference <IDOwner>(this);
                    if (m_parentColumnIDOwner != null)
                    {
                        m_parentColumnID = m_parentColumnIDOwner.ID;
                    }
                    break;

                case MemberName.IndexInCollection:
                    m_indexInCollection = reader.ReadInt32();
                    break;

                case MemberName.HasInnerGroupTreeHierarchy:
                    m_hasInnerGroupTreeHierarchy = reader.ReadBoolean();
                    break;

                case MemberName.DataRegionDef:
                    m_dataRegionDef = reader.ReadReference <DataRegion>(this);
                    break;

                case MemberName.AggregateIndexes:
                    m_aggregateIndexes = reader.ReadListOfPrimitives <int>();
                    break;

                case MemberName.PostSortAggregateIndexes:
                    m_postSortAggregateIndexes = reader.ReadListOfPrimitives <int>();
                    break;

                case MemberName.RunningValueIndexes:
                    m_runningValueIndexes = reader.ReadListOfPrimitives <int>();
                    break;

                case MemberName.NeedToCacheDataRows:
                    m_needToCacheDataRows = reader.ReadBoolean();
                    break;

                case MemberName.InScopeEventSources:
                    m_inScopeEventSources = reader.ReadGenericListOfReferences <IInScopeEventSource>(this);
                    break;

                case MemberName.InDynamicRowAndColumnContext:
                    m_inDynamicRowAndColumnContext = reader.ReadBoolean();
                    break;

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

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

                case MemberName.DataScopeInfo:
                    m_dataScopeInfo = reader.ReadRIFObject <DataScopeInfo>();
                    break;

                default:
                    Global.Tracer.Assert(condition: false);
                    break;
                }
            }
        }