internal ShimTableMember(IDefinitionPath parentDefinitionPath, Tablix owner, ShimTableMember parent, int parentCollectionIndex, TableRow staticRow, KeepWithGroup keepWithGroup, bool isFixedTableHeader) : base(parentDefinitionPath, owner, parent, parentCollectionIndex, isColumn: false) { m_innerStaticRow = staticRow; m_rowDefinitionStartIndex = owner.GetAndIncrementMemberCellDefinitionIndex(); m_rowDefinitionEndIndex = owner.GetCurrentMemberCellDefinitionIndex(); m_keepWithGroup = keepWithGroup; m_isFixedHeader = isFixedTableHeader; }
private void GenerateInnerHierarchy(Tablix owner, ShimMatrixMember parent, bool isColumn, MatrixMemberCollection children) { if (children != null) { MatrixMemberInfoCache matrixMemberInfoCache = null; if (m_isColumn) { matrixMemberInfoCache = ((children.MatrixHeadingDef.SubHeading == null) ? new MatrixMemberInfoCache((m_staticOrSubtotal != null) ? m_staticOrSubtotal.MemberCellIndex : AdjustedRenderCollectionIndex, -1) : new MatrixMemberInfoCache(-1, children.Count)); m_currentMatrixMemberCellIndexes.Children[AdjustedRenderCollectionIndex] = matrixMemberInfoCache; } m_children = new ShimMatrixMemberCollection(this, owner, isColumn, this, children, matrixMemberInfoCache); } else { owner.GetAndIncrementMemberCellDefinitionIndex(); } }