public ShimDataMember(IDefinitionPath parentDefinitionPath, CustomReportItem owner, ShimDataMember parent, int parentCollectionIndex, bool isColumn, bool isStatic, AspNetCore.ReportingServices.ReportRendering.DataMemberCollection renderMembers, int staticIndex)
            : base(parentDefinitionPath, owner, parent, parentCollectionIndex)
        {
            this.m_definitionStartIndex = owner.GetCurrentMemberCellDefinitionIndex();
            this.m_isColumn             = isColumn;
            this.m_isStatic             = isStatic;
            this.m_renderMembers        = renderMembers;
            this.m_staticIndex          = staticIndex;
            DataGroupingCollection children;

            if (isStatic)
            {
                children = renderMembers[staticIndex].Children;
            }
            else
            {
                base.m_group = new Group(owner, new ShimRenderGroups(renderMembers));
                children     = renderMembers[0].Children;
            }
            if (children != null)
            {
                base.m_children = new ShimDataMemberCollection(this, owner, isColumn, this, children);
            }
            else
            {
                owner.GetAndIncrementMemberCellDefinitionIndex();
            }
            this.m_definitionEndIndex = owner.GetCurrentMemberCellDefinitionIndex();
        }
 public void ResetContext(AspNetCore.ReportingServices.ReportRendering.DataMemberCollection renderMembers)
 {
     if (renderMembers != null)
     {
         this.m_renderMembers = renderMembers;
     }
     if (base.m_group != null)
     {
         base.m_group.CurrentRenderGroupIndex = -1;
     }
     AspNetCore.ReportingServices.ReportRendering.DataMember currentRenderMember = this.IsStatic ? this.m_renderMembers[this.m_staticIndex] : (base.m_group.CurrentShimRenderGroup as AspNetCore.ReportingServices.ReportRendering.DataMember);
     this.UpdateInnerContext(currentRenderMember);
 }
Beispiel #3
0
 public DataMemberCollection this[int index]
 {
     get
     {
         if (index >= 0 && index < this.Count)
         {
             DataMemberCollection dataMemberCollection = null;
             if (index == 0)
             {
                 dataMemberCollection = this.m_firstCollection;
             }
             else if (this.m_collections != null)
             {
                 dataMemberCollection = this.m_collections[index - 1];
             }
             if (dataMemberCollection == null)
             {
                 bool headingDefIsStaticSubtotal = index > 0 && this.m_headingDef[index].Static && !this.m_headingDef[index].Subtotal && this.m_headingDef[index - 1].Subtotal;
                 CustomReportItemHeadingInstanceList customReportItemHeadingInstanceList = null;
                 if (this.m_headingDef[index].Static && this.m_headingInstances != null && this.m_headingInstances.Count > index)
                 {
                     customReportItemHeadingInstanceList = new CustomReportItemHeadingInstanceList(1);
                     customReportItemHeadingInstanceList.Add(this.m_headingInstances[index]);
                 }
                 else
                 {
                     customReportItemHeadingInstanceList = this.m_headingInstances;
                 }
                 dataMemberCollection = new DataMemberCollection(this.m_owner, this.m_parent, this.m_headingDef[index], headingDefIsStaticSubtotal, customReportItemHeadingInstanceList);
                 if (this.m_owner.UseCache)
                 {
                     if (index == 0)
                     {
                         this.m_firstCollection = dataMemberCollection;
                     }
                     else
                     {
                         if (this.m_collections == null)
                         {
                             this.m_collections = new DataMemberCollection[this.Count - 1];
                         }
                         this.m_collections[index - 1] = dataMemberCollection;
                     }
                 }
             }
             return(dataMemberCollection);
         }
         throw new RenderingObjectModelException(ProcessingErrorCode.rsInvalidParameterRange, index, 0, this.Count);
     }
 }
 public ShimRenderGroups(AspNetCore.ReportingServices.ReportRendering.DataMemberCollection renderGroups)
 {
     this.m_type = DataRegion.Type.CustomReportItem;
     this.m_renderDataMembers = renderGroups;
 }