private void AppendMatrixRows(ShimMatrixMember rowParentMember, ShimMatrixMemberCollection rowMembers, bool inSubtotalRow)
        {
            if (rowMembers == null)
            {
                m_rows.Add(new ShimMatrixRow(m_owner, m_rows.Count, rowParentMember, inSubtotalRow));
                return;
            }
            int count = rowMembers.Count;

            for (int i = 0; i < count; i++)
            {
                ShimMatrixMember shimMatrixMember = rowMembers[i] as ShimMatrixMember;
                AppendMatrixRows(shimMatrixMember, shimMatrixMember.Children as ShimMatrixMemberCollection, inSubtotalRow || shimMatrixMember.CurrentRenderMatrixMember.IsTotal);
            }
        }
 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();
     }
 }
Beispiel #3
0
        private void GenerateMatrixCells(ShimMatrixMember rowParentMember, ShimMatrixMember colParentMember, ShimMatrixMemberCollection columnMembers, bool inSubtotalRow, bool inSubtotalColumn)
        {
            if (columnMembers == null)
            {
                m_cells.Add(new ShimMatrixCell(m_owner, m_rowIndex, m_cells.Count, rowParentMember, colParentMember, inSubtotalRow || inSubtotalColumn));
                return;
            }
            int count = columnMembers.Count;

            for (int i = 0; i < count; i++)
            {
                ShimMatrixMember shimMatrixMember = columnMembers[i] as ShimMatrixMember;
                GenerateMatrixCells(rowParentMember, shimMatrixMember, shimMatrixMember.Children as ShimMatrixMemberCollection, inSubtotalRow, inSubtotalColumn || shimMatrixMember.CurrentRenderMatrixMember.IsTotal);
            }
        }