private void GenerateInnerHierarchy(Tablix owner, ShimMatrixMember parent, bool isColumn, MatrixMemberCollection children) { if (children != null) { MatrixMemberInfoCache matrixMemberInfoCache = null; if (base.m_isColumn) { if (children.MatrixHeadingDef.SubHeading != null) { matrixMemberInfoCache = new MatrixMemberInfoCache(-1, children.Count); } else { int startIndex = (this.m_staticOrSubtotal != null) ? this.m_staticOrSubtotal.MemberCellIndex : this.AdjustedRenderCollectionIndex; matrixMemberInfoCache = new MatrixMemberInfoCache(startIndex, -1); } this.m_currentMatrixMemberCellIndexes.Children[this.AdjustedRenderCollectionIndex] = matrixMemberInfoCache; } base.m_children = new ShimMatrixMemberCollection(this, owner, isColumn, this, children, matrixMemberInfoCache); } else { owner.GetAndIncrementMemberCellDefinitionIndex(); } }
public ShimMatrixMember(IDefinitionPath parentDefinitionPath, Tablix owner, ShimMatrixMember parent, int parentCollectionIndex, bool isColumn, int renderCollectionIndex, ShimRenderGroups renderGroups, MatrixMemberInfoCache matrixMemberCellIndexes) : base(parentDefinitionPath, owner, parent, parentCollectionIndex, isColumn) { this.m_renderCollectionIndex = renderCollectionIndex; this.m_currentMatrixMemberCellIndexes = matrixMemberCellIndexes; this.m_definitionStartIndex = owner.GetCurrentMemberCellDefinitionIndex(); base.m_group = new Group(owner, renderGroups, this); this.GenerateInnerHierarchy(owner, parent, isColumn, ((MatrixMember)base.m_group.CurrentShimRenderGroup).Children); this.m_definitionEndIndex = owner.GetCurrentMemberCellDefinitionIndex(); }
public ShimMatrixMember(IDefinitionPath parentDefinitionPath, Tablix owner, ShimMatrixMember parent, int parentCollectionIndex, bool isColumn, int renderCollectionIndex, MatrixMember staticOrSubtotal, bool isAfterSubtotal, MatrixMemberInfoCache matrixMemberCellIndexes) : base(parentDefinitionPath, owner, parent, parentCollectionIndex, isColumn) { this.m_renderCollectionIndex = renderCollectionIndex; this.m_isAfterSubtotal = isAfterSubtotal; this.m_currentMatrixMemberCellIndexes = matrixMemberCellIndexes; this.m_definitionStartIndex = owner.GetCurrentMemberCellDefinitionIndex(); this.m_staticOrSubtotal = staticOrSubtotal; this.GenerateInnerHierarchy(owner, parent, isColumn, staticOrSubtotal.Children); this.m_definitionEndIndex = owner.GetCurrentMemberCellDefinitionIndex(); }
private void AppendMatrixRows(ShimMatrixMember rowParentMember, ShimMatrixMemberCollection rowMembers, bool inSubtotalRow) { if (rowMembers == null) { this.m_rows.Add(new ShimMatrixRow(base.m_owner, this.m_rows.Count, rowParentMember, inSubtotalRow)); } else { int count = rowMembers.Count; for (int i = 0; i < count; i++) { ShimMatrixMember shimMatrixMember = ((ReportElementCollectionBase <TablixMember>)rowMembers)[i] as ShimMatrixMember; this.AppendMatrixRows(shimMatrixMember, shimMatrixMember.Children as ShimMatrixMemberCollection, inSubtotalRow || shimMatrixMember.CurrentRenderMatrixMember.IsTotal); } } }
private void GenerateMatrixCells(ShimMatrixMember rowParentMember, ShimMatrixMember colParentMember, ShimMatrixMemberCollection columnMembers, bool inSubtotalRow, bool inSubtotalColumn) { if (columnMembers == null) { this.m_cells.Add(new ShimMatrixCell(base.m_owner, base.m_rowIndex, this.m_cells.Count, rowParentMember, colParentMember, inSubtotalRow || inSubtotalColumn)); } else { int count = columnMembers.Count; for (int i = 0; i < count; i++) { ShimMatrixMember shimMatrixMember = ((ReportElementCollectionBase <TablixMember>)columnMembers)[i] as ShimMatrixMember; this.GenerateMatrixCells(rowParentMember, shimMatrixMember, shimMatrixMember.Children as ShimMatrixMemberCollection, inSubtotalRow, inSubtotalColumn || shimMatrixMember.CurrentRenderMatrixMember.IsTotal); } } }
public void UpdateCells(ShimMatrixMember innermostMember) { if (innermostMember != null && innermostMember.Children == null) { if (!innermostMember.IsColumn) { int memberCellIndex = innermostMember.MemberCellIndex; int count = this.m_rows[memberCellIndex].Count; for (int i = 0; i < count; i++) { ((ShimMatrixCell)((ReportElementCollectionBase <TablixCell>) this.m_rows[memberCellIndex])[i]).ResetCellContents(); } } else { int memberCellIndex2 = innermostMember.MemberCellIndex; int count2 = this.m_rows.Count; for (int j = 0; j < count2; j++) { ((ShimMatrixCell)((ReportElementCollectionBase <TablixCell>) this.m_rows[j])[memberCellIndex2]).ResetCellContents(); } } } }
public ShimMatrixCell(Tablix owner, int rowIndex, int colIndex, ShimMatrixMember rowParentMember, ShimMatrixMember colParentMember, bool inSubtotal) : base(owner, rowIndex, colIndex, inSubtotal) { this.m_rowParentMember = rowParentMember; this.m_colParentMember = colParentMember; }
public ShimMatrixMemberVisibility(ShimMatrixMember owner) { this.m_owner = owner; }
public ShimMatrixMemberCollection(IDefinitionPath parentDefinitionPath, Tablix owner, bool isColumnGroup, ShimMatrixMember parent, MatrixMemberCollection renderMemberCollection, MatrixMemberInfoCache matrixMemberCellIndexes) : base(parentDefinitionPath, owner, isColumnGroup) { this.m_definitionStartIndex = owner.GetCurrentMemberCellDefinitionIndex(); int count = renderMemberCollection.Count; if (renderMemberCollection[0].IsStatic) { base.m_children = new ShimMatrixMember[count]; for (int i = 0; i < count; i++) { base.m_children[i] = new ShimMatrixMember(this, owner, parent, i, isColumnGroup, i, renderMemberCollection[i], false, matrixMemberCellIndexes); } } else { this.m_dynamicSubgroupChildIndex = 0; bool flag = null != renderMemberCollection.MatrixHeadingDef.Subtotal; bool flag2 = flag && Subtotal.PositionType.After == renderMemberCollection.MatrixHeadingDef.Subtotal.Position; base.m_children = new ShimMatrixMember[(!flag) ? 1 : 2]; if (flag) { this.m_subtotalChildIndex = 0; if (flag2) { this.m_subtotalChildIndex++; } else { this.m_dynamicSubgroupChildIndex++; } } if (flag) { MatrixMember matrixMember = renderMemberCollection[this.m_subtotalChildIndex]; AspNetCore.ReportingServices.ReportRendering.ReportItem reportItem = matrixMember.ReportItem; if (reportItem != null) { if (isColumnGroup) { this.m_sizeDelta += reportItem.Width.ToMillimeters(); } else { this.m_sizeDelta += reportItem.Height.ToMillimeters(); } } } if (flag && !flag2) { base.m_children[this.m_subtotalChildIndex] = new ShimMatrixMember(this, owner, parent, this.m_subtotalChildIndex, isColumnGroup, 0, renderMemberCollection[0], flag2, matrixMemberCellIndexes); } ShimRenderGroups renderGroups = new ShimRenderGroups(renderMemberCollection, flag && !flag2, flag && flag2); ShimMatrixMember shimMatrixMember = (ShimMatrixMember)(base.m_children[this.m_dynamicSubgroupChildIndex] = new ShimMatrixMember(this, owner, parent, this.m_dynamicSubgroupChildIndex, isColumnGroup, this.m_dynamicSubgroupChildIndex, renderGroups, matrixMemberCellIndexes)); if (flag && flag2) { base.m_children[this.m_subtotalChildIndex] = new ShimMatrixMember(this, owner, parent, this.m_subtotalChildIndex, isColumnGroup, count - 1, renderMemberCollection[count - 1], flag2, matrixMemberCellIndexes); } this.m_sizeDelta += shimMatrixMember.SizeDelta; } this.m_definitionEndIndex = owner.GetCurrentMemberCellDefinitionIndex(); }
public ShimMatrixRow(Tablix owner, int rowIndex, ShimMatrixMember rowParentMember, bool inSubtotalRow) : base(owner, rowIndex) { this.m_cells = new List <ShimMatrixCell>(); this.GenerateMatrixCells(rowParentMember, null, owner.ColumnHierarchy.MemberCollection as ShimMatrixMemberCollection, inSubtotalRow, inSubtotalRow); }