Example #1
0
 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();
     }
 }
Example #2
0
 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();
 }
Example #3
0
 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();
 }
Example #4
0
 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);
         }
     }
 }
Example #6
0
 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;
 }
Example #9
0
        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);
 }