internal virtual void NextRow(bool isOuterGrouping, OnDemandProcessingContext odpContext)
 {
     if (null != m_groupRoot)
     {
         using (m_groupRoot.PinValue())
         {
             m_groupRoot.Value().NextRow();
         }
     }
 }
        protected static IOnDemandMemberInstanceReference GetFirstMemberInstance(Microsoft.ReportingServices.ReportIntermediateFormat.ReportHierarchyNode rifMember, IReference <RuntimeMemberObj>[] memberCol)
        {
            IOnDemandMemberInstanceReference       result    = null;
            RuntimeDataTablixGroupRootObjReference groupRoot = GetGroupRoot(rifMember, memberCol);

            using (groupRoot.PinValue())
            {
                RuntimeGroupLeafObjReference firstChild = groupRoot.Value().FirstChild;
                if (firstChild != null)
                {
                    return((IOnDemandMemberInstanceReference)firstChild);
                }
                return(result);
            }
        }
        protected static IOnDemandMemberInstanceReference GetFirstMemberInstance(AspNetCore.ReportingServices.ReportIntermediateFormat.ReportHierarchyNode rifMember, IReference <RuntimeMemberObj>[] memberCol)
        {
            IOnDemandMemberInstanceReference       result    = null;
            RuntimeDataTablixGroupRootObjReference groupRoot = RuntimeDataRegionObj.GetGroupRoot(rifMember, memberCol);

            using (groupRoot.PinValue())
            {
                RuntimeDataTablixGroupRootObj runtimeDataTablixGroupRootObj = groupRoot.Value();
                RuntimeGroupLeafObjReference  firstChild = runtimeDataTablixGroupRootObj.FirstChild;
                if ((BaseReference)firstChild != (object)null)
                {
                    return((IOnDemandMemberInstanceReference)firstChild);
                }
                return(result);
            }
        }
        public RuntimeSortHierarchyObj(IHierarchyObj outerHierarchy, int depth)
        {
            this.m_hierarchyRoot = outerHierarchy.HierarchyRoot;
            this.m_odpContext    = this.m_hierarchyRoot.Value().OdpContext;
            List <int> sortFilterInfoIndices = this.m_hierarchyRoot.Value().SortFilterInfoIndices;
            int        num = outerHierarchy.ExpressionIndex + 1;

            if (sortFilterInfoIndices == null || num >= sortFilterInfoIndices.Count)
            {
                RuntimeDataTablixGroupRootObjReference runtimeDataTablixGroupRootObjReference = this.m_hierarchyRoot as RuntimeDataTablixGroupRootObjReference;
                if ((BaseReference)null != (object)runtimeDataTablixGroupRootObjReference)
                {
                    using (runtimeDataTablixGroupRootObjReference.PinValue())
                    {
                        RuntimeDataTablixGroupRootObj runtimeDataTablixGroupRootObj = runtimeDataTablixGroupRootObjReference.Value();
                        this.m_dataHolder = (IReference <ISortDataHolder>)runtimeDataTablixGroupRootObj.CreateGroupLeaf();
                        if (!runtimeDataTablixGroupRootObj.HasParent)
                        {
                            runtimeDataTablixGroupRootObj.AddChildWithNoParent((RuntimeGroupLeafObjReference)this.m_dataHolder);
                        }
                    }
                }
                else
                {
                    this.m_dataRowHolder = new RuntimeSortDataHolder();
                }
            }
            else
            {
                this.m_sortHierarchyStruct = new SortHierarchyStructure(this, num, this.m_odpContext.RuntimeSortFilterInfo, sortFilterInfoIndices);
            }
        }
Пример #5
0
        protected override void CalculateRunningValuesForStaticContents(AggregateUpdateContext aggContext)
        {
            if (!m_processHeading)
            {
                return;
            }
            RuntimeDataTablixGroupRootObjReference runtimeDataTablixGroupRootObjReference = (RuntimeDataTablixGroupRootObjReference)m_hierarchyRoot;

            using (runtimeDataTablixGroupRootObjReference.PinValue())
            {
                Dictionary <string, IReference <RuntimeGroupRootObj> > groupCollection = runtimeDataTablixGroupRootObjReference.Value().GroupCollection;
                RuntimeGroupRootObjReference lastGroup = runtimeDataTablixGroupRootObjReference;
                if (m_groupScopedItems != null)
                {
                    m_groupScopedItems.CalculateRunningValues(groupCollection, lastGroup, aggContext);
                }
            }
        }