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); } }
public RuntimeCell GetOrCreateCell(AspNetCore.ReportingServices.ReportIntermediateFormat.DataRegion dataRegionDef, IReference <RuntimeDataTablixGroupLeafObj> ownerRef, IReference <RuntimeDataTablixGroupRootObj> currOuterGroupRootRef, out IDisposable cleanupRef) { RuntimeDataTablixGroupRootObj runtimeDataTablixGroupRootObj = currOuterGroupRootRef.Value(); int groupLeafIndex = dataRegionDef.OuterGroupingIndexes[runtimeDataTablixGroupRootObj.HierarchyDef.HierarchyDynamicIndex]; return(this.GetOrCreateCellByIndex(groupLeafIndex, dataRegionDef, ownerRef, runtimeDataTablixGroupRootObj, out cleanupRef)); }
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); } }
protected override void CalculateRunningValuesForStaticContents(AggregateUpdateContext aggContext) { if (base.m_processHeading) { RuntimeDataTablixGroupRootObjReference runtimeDataTablixGroupRootObjReference = (RuntimeDataTablixGroupRootObjReference)base.m_hierarchyRoot; using (runtimeDataTablixGroupRootObjReference.PinValue()) { RuntimeDataTablixGroupRootObj runtimeDataTablixGroupRootObj = runtimeDataTablixGroupRootObjReference.Value(); Dictionary <string, IReference <RuntimeGroupRootObj> > groupCollection = runtimeDataTablixGroupRootObj.GroupCollection; RuntimeGroupRootObjReference lastGroup = runtimeDataTablixGroupRootObjReference; if (this.m_groupScopedItems != null) { this.m_groupScopedItems.CalculateRunningValues(groupCollection, lastGroup, aggContext); } } } }
private RuntimeDataTablixMemberObj(IReference <IScope> owner, AspNetCore.ReportingServices.ReportIntermediateFormat.ReportHierarchyNode dynamicMember, ref DataActions dataAction, OnDemandProcessingContext odpContext, IReference <RuntimeMemberObj>[] innerGroupings, HierarchyNodeList staticMembers, bool outerMostStatics, int headingLevel, AspNetCore.ReportingServices.ReportProcessing.ObjectType objectType) : base(owner, dynamicMember) { int excludedCellIndex = -1; if (dynamicMember != null) { excludedCellIndex = dynamicMember.MemberCellIndex; RuntimeDataTablixGroupRootObj runtimeDataTablixGroupRootObj = new RuntimeDataTablixGroupRootObj(owner, dynamicMember, ref dataAction, odpContext, innerGroupings, outerMostStatics, headingLevel, objectType); base.m_groupRoot = (RuntimeDataTablixGroupRootObjReference)runtimeDataTablixGroupRootObj.SelfReference; base.m_groupRoot.UnPinValue(); } if (staticMembers != null && staticMembers.Count != 0) { int count = staticMembers.Count; this.m_hasStaticMembers = true; this.m_staticLeafCellIndexes = staticMembers.GetLeafCellIndexes(excludedCellIndex); } }
private RuntimeCell GetOrCreateCellByIndex(int groupLeafIndex, AspNetCore.ReportingServices.ReportIntermediateFormat.DataRegion dataRegionDef, IReference <RuntimeDataTablixGroupLeafObj> ownerRef, RuntimeDataTablixGroupRootObj currOuterGroupRoot, out IDisposable cleanupRef) { RuntimeCell andPinCell = this.GetAndPinCell(groupLeafIndex, out cleanupRef); if (andPinCell == null) { using (ownerRef.PinValue()) { RuntimeDataTablixGroupLeafObj runtimeDataTablixGroupLeafObj = ownerRef.Value(); if (!RuntimeCell.HasOnlySimpleGroupTreeCells(currOuterGroupRoot.HierarchyDef, runtimeDataTablixGroupLeafObj.MemberDef, dataRegionDef)) { runtimeDataTablixGroupLeafObj.CreateCell(this, groupLeafIndex, currOuterGroupRoot.HierarchyDef, runtimeDataTablixGroupLeafObj.MemberDef, dataRegionDef); } } andPinCell = this.GetAndPinCell(groupLeafIndex, out cleanupRef); } return(andPinCell); }
public RuntimeCell GetOrCreateCell(AspNetCore.ReportingServices.ReportIntermediateFormat.DataRegion dataRegionDef, IReference <RuntimeDataTablixGroupLeafObj> ownerRef, IReference <RuntimeDataTablixGroupRootObj> currOuterGroupRootRef, int groupLeafIndex, out IDisposable cleanupRef) { RuntimeDataTablixGroupRootObj currOuterGroupRoot = currOuterGroupRootRef.Value(); return(this.GetOrCreateCellByIndex(groupLeafIndex, dataRegionDef, ownerRef, currOuterGroupRoot, out cleanupRef)); }