internal MatrixInstance(ReportProcessing.ProcessingContext pc, Matrix reportItemDef) : base(pc.CreateUniqueName(), reportItemDef) { m_instanceInfo = new MatrixInstanceInfo(pc, reportItemDef, this); pc.Pagination.EnterIgnoreHeight(reportItemDef.StartHidden); m_columnInstances = new MatrixHeadingInstanceList(); m_rowInstances = new MatrixHeadingInstanceList(); m_cells = new MatrixCellInstancesList(); m_renderingPages = new RenderingPagesRangesList(); reportItemDef.CurrentPage = reportItemDef.StartPage; m_startPage = reportItemDef.StartPage; if (reportItemDef.FirstCellInstances == null) { int count = reportItemDef.CellReportItems.Count; reportItemDef.FirstCellInstances = new BoolList(count); for (int i = 0; i < count; i++) { reportItemDef.FirstCellInstances.Add(true); } } m_inFirstPage = pc.ChunkManager.InFirstPage; }
internal MatrixHeadingInstance(ReportProcessing.ProcessingContext pc, int headingCellIndex, MatrixHeading matrixHeadingDef, bool isSubtotal, int reportItemDefIndex, VariantList groupExpressionValues, out NonComputedUniqueNames nonComputedUniqueNames) { m_uniqueName = pc.CreateUniqueName(); if (isSubtotal && matrixHeadingDef.Subtotal.StyleClass != null) { m_instanceInfo = new MatrixSubtotalHeadingInstanceInfo(pc, headingCellIndex, matrixHeadingDef, this, isSubtotal, reportItemDefIndex, groupExpressionValues, out nonComputedUniqueNames); if (matrixHeadingDef.GetInnerStaticHeading() != null) { m_subHeadingInstances = new MatrixHeadingInstanceList(); } } else { m_instanceInfo = new MatrixHeadingInstanceInfo(pc, headingCellIndex, matrixHeadingDef, this, isSubtotal, reportItemDefIndex, groupExpressionValues, out nonComputedUniqueNames); if (matrixHeadingDef.SubHeading != null) { m_subHeadingInstances = new MatrixHeadingInstanceList(); } } m_renderingPages = new RenderingPagesRangesList(); m_matrixHeadingDef = matrixHeadingDef; m_isSubtotal = isSubtotal; m_headingDefIndex = reportItemDefIndex; if (!matrixHeadingDef.IsColumn) { pc.Pagination.EnterIgnoreHeight(matrixHeadingDef.StartHidden); } if (matrixHeadingDef.FirstHeadingInstances == null) { int count = matrixHeadingDef.ReportItems.Count; matrixHeadingDef.FirstHeadingInstances = new BoolList(count); for (int i = 0; i < count; i++) { matrixHeadingDef.FirstHeadingInstances.Add(true); } } }