private void VisitTablixMember(AspNetCore.ReportingServices.OnDemandReportRendering.TablixMember memberDef, int rowMemberIndex, Stack <int> openRecursiveLevels) { if (memberDef.Instance != null) { bool generateDocMap = this.m_generateDocMap; if (this.ProcessVisibilityAndContinue(memberDef.Visibility, memberDef.Instance.Visibility, memberDef)) { if (!memberDef.IsStatic && rowMemberIndex == -1 && memberDef.Group != null && this.m_generateDocMap) { GroupInstance instance = memberDef.Group.Instance; string documentMapLabel = instance.DocumentMapLabel; int recursiveLevel = instance.RecursiveLevel; if (documentMapLabel != null) { while (openRecursiveLevels.Count > 0 && openRecursiveLevels.Peek() >= recursiveLevel) { this.WriteDocumentMapEndContainer(); openRecursiveLevels.Pop(); } this.WriteDocumentMapBeginContainer(documentMapLabel, memberDef.Group.Instance.UniqueName); openRecursiveLevels.Push(recursiveLevel); } } if (rowMemberIndex == -1 && memberDef.TablixHeader != null && memberDef.TablixHeader.CellContents != null) { this.Visit(memberDef.TablixHeader.CellContents.ReportItem); } if (memberDef.Children == null) { if (memberDef.IsColumn) { if (rowMemberIndex != -1) { AspNetCore.ReportingServices.OnDemandReportRendering.TablixCell tablixCell = ((ReportElementCollectionBase <AspNetCore.ReportingServices.OnDemandReportRendering.TablixCell>)((ReportElementCollectionBase <AspNetCore.ReportingServices.OnDemandReportRendering.TablixRow>)memberDef.OwnerTablix.Body.RowCollection)[rowMemberIndex])[memberDef.MemberCellIndex]; if (tablixCell != null && tablixCell.CellContents != null) { this.Visit(tablixCell.CellContents.ReportItem); } } } else { this.VisitTablixMemberCollection(memberDef.OwnerTablix.ColumnHierarchy.MemberCollection, memberDef.MemberCellIndex, true); } } else { this.VisitTablixMemberCollection(memberDef.Children, rowMemberIndex, false); } this.m_generateDocMap = generateDocMap; } } }
public override TablixMember this[int index] { get { if (index >= 0 && index < this.Count) { if (base.m_children == null) { base.m_children = new DataRegionMember[this.Count]; } TablixMember tablixMember = (TablixMember)base.m_children[index]; if (tablixMember == null) { tablixMember = (TablixMember)(base.m_children[index] = new ShimListMember(this, base.OwnerTablix, this.m_renderGroups, index, base.m_isColumnGroup)); } return(tablixMember); } throw new RenderingObjectModelException(ProcessingErrorCode.rsInvalidParameterRange, index, 0, this.Count); } }
public override TablixMember this[int index] { get { if (index >= 0 && index < this.Count) { if (base.m_children == null) { base.m_children = new DataRegionMember[this.Count]; } TablixMember tablixMember = (TablixMember)base.m_children[index]; if (tablixMember == null) { IReportScope reportScope = (this.m_parent != null) ? this.m_parent.ReportScope : base.m_owner.ReportScope; tablixMember = (TablixMember)(base.m_children[index] = new InternalTablixMember(reportScope, this, base.OwnerTablix, this.m_parent, this.m_memberDefs[index], index)); } return(tablixMember); } throw new RenderingObjectModelException(ProcessingErrorCode.rsInvalidParameterRange, index, 0, this.Count); } }
public TablixMember(IDefinitionPath parentDefinitionPath, Tablix owner, TablixMember parent, int parentCollectionIndex) : base(parentDefinitionPath, owner, parent, parentCollectionIndex) { }
public InternalTablixMemberCollection(IDefinitionPath parentDefinitionPath, Tablix owner, TablixMember parent, TablixMemberList memberDefs) : base(parentDefinitionPath, owner) { this.m_parent = parent; this.m_memberDefs = memberDefs; }
public ShimTablixMember(IDefinitionPath parentDefinitionPath, Tablix owner, TablixMember parent, int parentCollectionIndex, bool isColumn) : base(parentDefinitionPath, owner, parent, parentCollectionIndex) { this.m_isColumn = isColumn; }
public InternalTablixMember(IReportScope reportScope, IDefinitionPath parentDefinitionPath, Tablix owner, TablixMember parent, AspNetCore.ReportingServices.ReportIntermediateFormat.TablixMember memberDef, int index) : base(parentDefinitionPath, owner, parent, index) { if (memberDef.IsStatic) { this.m_reportScope = reportScope; } base.m_owner = owner; this.m_memberDef = memberDef; if (this.m_memberDef.Grouping != null) { base.m_group = new Group(base.OwnerTablix, this.m_memberDef, this); } this.m_memberDef.ROMScopeInstance = this.ReportScope.ReportScopeInstance; this.m_memberDef.ResetVisibilityComputationCache(); }
public TablixHeader(Tablix owner, TablixMember tablixMember) { this.m_owner = owner; this.m_tablixMember = tablixMember; }
private bool ProcessVisibilityAndContinue(AspNetCore.ReportingServices.OnDemandReportRendering.Visibility aVisibility, VisibilityInstance aVisibilityInstance, AspNetCore.ReportingServices.OnDemandReportRendering.TablixMember memberDef) { if (aVisibility == null) { return(true); } if (aVisibilityInstance != null && this.m_createSnapshot) { bool startHidden = aVisibilityInstance.StartHidden; } switch (aVisibility.HiddenState) { case SharedHiddenState.Always: if (this.m_createSnapshot) { this.m_generateDocMap = false; return(true); } return(false); case SharedHiddenState.Sometimes: if (!aVisibilityInstance.CurrentlyHidden) { break; } if (aVisibility.ToggleItem != null) { break; } if (this.m_createSnapshot) { this.m_generateDocMap = false; return(true); } return(false); default: if (memberDef == null) { break; } if (!memberDef.IsTotal) { break; } if (this.m_createSnapshot) { this.m_generateDocMap = false; return(true); } return(false); } return(true); }
private void VisitTablixMemberCollection(TablixMemberCollection memberCollection, int rowMemberIndex, bool isTopLevel) { if (memberCollection != null) { for (int i = 0; i < memberCollection.Count; i++) { AspNetCore.ReportingServices.OnDemandReportRendering.TablixMember tablixMember = ((ReportElementCollectionBase <AspNetCore.ReportingServices.OnDemandReportRendering.TablixMember>)memberCollection)[i]; if (tablixMember.IsStatic) { this.VisitTablixMember(tablixMember, rowMemberIndex, null); } else { TablixDynamicMemberInstance tablixDynamicMemberInstance = (TablixDynamicMemberInstance)tablixMember.Instance; Stack <int> stack = new Stack <int>(); if (isTopLevel) { tablixDynamicMemberInstance.ResetContext(); } while (tablixDynamicMemberInstance.MoveNext()) { this.VisitTablixMember(tablixMember, rowMemberIndex, stack); } for (int j = 0; j < stack.Count; j++) { this.WriteDocumentMapEndContainer(); } } } } }
public TablixDynamicMemberInstance(Tablix owner, TablixMember memberDef, InternalDynamicMemberLogic memberLogic) : base(owner, memberDef) { this.m_memberLogic = memberLogic; this.ResetContext(); }