internal ShimTableMemberCollection(IDefinitionPath parentDefinitionPath, Tablix owner, ShimTableMember parent, Microsoft.ReportingServices.ReportRendering.TableGroup tableGroup) : base(parentDefinitionPath, owner, isColumnGroup: false) { m_rowDefinitionStartIndex = owner.GetCurrentMemberCellDefinitionIndex(); m_children = CreateInnerHierarchy(owner, parent, tableGroup.GroupHeader, tableGroup.GroupFooter, tableGroup.SubGroups, tableGroup.DetailRows, ref m_dynamicSubgroupChildIndex); m_rowDefinitionEndIndex = owner.GetCurrentMemberCellDefinitionIndex(); }
internal ShimMatrixMember(IDefinitionPath parentDefinitionPath, Tablix owner, ShimMatrixMember parent, int parentCollectionIndex, bool isColumn, int renderCollectionIndex, ShimRenderGroups renderGroups, MatrixMemberInfoCache matrixMemberCellIndexes) : base(parentDefinitionPath, owner, parent, parentCollectionIndex, isColumn) { m_renderCollectionIndex = renderCollectionIndex; m_currentMatrixMemberCellIndexes = matrixMemberCellIndexes; m_definitionStartIndex = owner.GetCurrentMemberCellDefinitionIndex(); m_group = new Group(owner, renderGroups, this); GenerateInnerHierarchy(owner, parent, isColumn, ((MatrixMember)m_group.CurrentShimRenderGroup).Children); m_definitionEndIndex = owner.GetCurrentMemberCellDefinitionIndex(); }
internal ShimTableMember(IDefinitionPath parentDefinitionPath, Tablix owner, ShimTableMember parent, int parentCollectionIndex, TableRowsCollection renderRows) : base(parentDefinitionPath, owner, parent, parentCollectionIndex, isColumn: false) { m_rowDefinitionStartIndex = owner.GetCurrentMemberCellDefinitionIndex(); m_isDetailGroup = true; m_renderDetails = renderRows; m_children = new ShimTableMemberCollection(this, (Tablix)m_owner, this, renderRows[0]); m_group = new Group(owner, this); m_rowDefinitionEndIndex = owner.GetCurrentMemberCellDefinitionIndex(); }
internal 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) { m_renderCollectionIndex = renderCollectionIndex; m_isAfterSubtotal = isAfterSubtotal; m_currentMatrixMemberCellIndexes = matrixMemberCellIndexes; m_definitionStartIndex = owner.GetCurrentMemberCellDefinitionIndex(); m_staticOrSubtotal = staticOrSubtotal; GenerateInnerHierarchy(owner, parent, isColumn, staticOrSubtotal.Children); m_definitionEndIndex = owner.GetCurrentMemberCellDefinitionIndex(); }
internal ShimTableMember(IDefinitionPath parentDefinitionPath, Tablix owner, ShimTableMember parent, int parentCollectionIndex, ShimRenderGroups renderGroups) : base(parentDefinitionPath, owner, parent, parentCollectionIndex, isColumn: false) { m_rowDefinitionStartIndex = owner.GetCurrentMemberCellDefinitionIndex(); if (renderGroups != null) { m_children = new ShimTableMemberCollection(this, (Tablix)m_owner, this, (TableGroup)renderGroups[0]); } m_group = new Group(owner, renderGroups, this); m_rowDefinitionEndIndex = owner.GetCurrentMemberCellDefinitionIndex(); }
internal ShimTableMemberCollection(IDefinitionPath parentDefinitionPath, Tablix owner, ShimTableMember parent, TableDetailRowCollection detailRows) : base(parentDefinitionPath, owner, isColumnGroup: false) { m_rowDefinitionStartIndex = owner.GetCurrentMemberCellDefinitionIndex(); int count = detailRows.Count; m_children = new ShimTableMember[count]; for (int i = 0; i < count; i++) { m_children[i] = new ShimTableMember(this, owner, parent, i, detailRows[i], KeepWithGroup.None, isFixedTableHeader: false); } m_rowDefinitionEndIndex = owner.GetCurrentMemberCellDefinitionIndex(); }
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; }
internal ShimTableMemberCollection(IDefinitionPath parentDefinitionPath, Tablix owner, bool isColumnGroup) : base(parentDefinitionPath, owner, isColumnGroup) { if (m_isColumnGroup) { int count = owner.RenderTable.Columns.Count; m_children = new ShimTableMember[count]; for (int i = 0; i < count; i++) { m_children[i] = new ShimTableMember(this, owner, i, owner.RenderTable.Columns); } } else { m_rowDefinitionStartIndex = owner.GetCurrentMemberCellDefinitionIndex(); m_children = CreateInnerHierarchy(owner, null, owner.RenderTable.TableHeader, owner.RenderTable.TableFooter, owner.RenderTable.TableGroups, owner.RenderTable.DetailRows, ref m_dynamicSubgroupChildIndex); m_rowDefinitionEndIndex = owner.GetCurrentMemberCellDefinitionIndex(); } }
internal ShimMatrixMemberCollection(IDefinitionPath parentDefinitionPath, Tablix owner, bool isColumnGroup, ShimMatrixMember parent, MatrixMemberCollection renderMemberCollection, MatrixMemberInfoCache matrixMemberCellIndexes) : base(parentDefinitionPath, owner, isColumnGroup) { m_definitionStartIndex = owner.GetCurrentMemberCellDefinitionIndex(); int count = renderMemberCollection.Count; if (renderMemberCollection[0].IsStatic) { m_children = new ShimMatrixMember[count]; for (int i = 0; i < count; i++) { m_children[i] = new ShimMatrixMember(this, owner, parent, i, isColumnGroup, i, renderMemberCollection[i], isAfterSubtotal: false, matrixMemberCellIndexes); } } else { m_dynamicSubgroupChildIndex = 0; bool flag = renderMemberCollection.MatrixHeadingDef.Subtotal != null; bool flag2 = flag && renderMemberCollection.MatrixHeadingDef.Subtotal.Position == Subtotal.PositionType.After; m_children = new ShimMatrixMember[(!flag) ? 1 : 2]; if (flag) { m_subtotalChildIndex = 0; if (flag2) { m_subtotalChildIndex++; } else { m_dynamicSubgroupChildIndex++; } } if (flag) { Microsoft.ReportingServices.ReportRendering.ReportItem reportItem = renderMemberCollection[m_subtotalChildIndex].ReportItem; if (reportItem != null) { if (isColumnGroup) { m_sizeDelta += reportItem.Width.ToMillimeters(); } else { m_sizeDelta += reportItem.Height.ToMillimeters(); } } } if (flag && !flag2) { m_children[m_subtotalChildIndex] = new ShimMatrixMember(this, owner, parent, m_subtotalChildIndex, isColumnGroup, 0, renderMemberCollection[0], flag2, matrixMemberCellIndexes); } ShimRenderGroups renderGroups = new ShimRenderGroups(renderMemberCollection, flag && !flag2, flag && flag2); ShimMatrixMember shimMatrixMember = (ShimMatrixMember)(m_children[m_dynamicSubgroupChildIndex] = new ShimMatrixMember(this, owner, parent, m_dynamicSubgroupChildIndex, isColumnGroup, m_dynamicSubgroupChildIndex, renderGroups, matrixMemberCellIndexes)); if (flag && flag2) { m_children[m_subtotalChildIndex] = new ShimMatrixMember(this, owner, parent, m_subtotalChildIndex, isColumnGroup, count - 1, renderMemberCollection[count - 1], flag2, matrixMemberCellIndexes); } m_sizeDelta += shimMatrixMember.SizeDelta; } m_definitionEndIndex = owner.GetCurrentMemberCellDefinitionIndex(); }