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 ShimTableMember(IDefinitionPath parentDefinitionPath, Tablix owner, ShimTableMember parent, int parentCollectionIndex, TableRow staticRow, KeepWithGroup keepWithGroup, bool isFixedTableHeader) : base(parentDefinitionPath, owner, parent, parentCollectionIndex, false) { this.m_innerStaticRow = staticRow; this.m_rowDefinitionStartIndex = owner.GetAndIncrementMemberCellDefinitionIndex(); this.m_rowDefinitionEndIndex = owner.GetCurrentMemberCellDefinitionIndex(); this.m_keepWithGroup = keepWithGroup; this.m_isFixedHeader = isFixedTableHeader; }