internal ReportItemColInstance(ReportProcessing.ProcessingContext pc, ReportItemCollection reportItemsDef) { m_reportItemColDef = reportItemsDef; if (reportItemsDef.ComputedReportItems != null) { m_reportItemInstances = new ReportItemInstanceList(reportItemsDef.ComputedReportItems.Count); } if (pc != null) { m_childrenNonComputedUniqueNames = NonComputedUniqueNames.CreateNonComputedUniqueNames(pc, reportItemsDef); } m_instanceInfo = new ReportItemColInstanceInfo(pc, reportItemsDef, this); }
internal MatrixHeadingInstanceInfo(ReportProcessing.ProcessingContext pc, int headingCellIndex, MatrixHeading matrixHeadingDef, MatrixHeadingInstance owner, bool isSubtotal, int reportItemDefIndex, VariantList groupExpressionValues, out NonComputedUniqueNames nonComputedUniqueNames) { ReportItemCollection reportItems; if (isSubtotal) { reportItems = matrixHeadingDef.Subtotal.ReportItems; } else { reportItems = matrixHeadingDef.ReportItems; if (matrixHeadingDef.OwcGroupExpression) { if (groupExpressionValues == null || DBNull.Value == groupExpressionValues[0]) { m_groupExpressionValue = null; } else { m_groupExpressionValue = groupExpressionValues[0]; } } } if (0 < reportItems.Count && !reportItems.IsReportItemComputed(reportItemDefIndex)) { m_contentUniqueNames = NonComputedUniqueNames.CreateNonComputedUniqueNames(pc, reportItems[reportItemDefIndex]); } nonComputedUniqueNames = m_contentUniqueNames; m_headingCellIndex = headingCellIndex; if (!isSubtotal && pc.ShowHideType != 0) { m_startHidden = pc.ProcessReceiver(owner.UniqueName, matrixHeadingDef.Visibility, matrixHeadingDef.ExprHost, matrixHeadingDef.DataRegionDef.ObjectType, matrixHeadingDef.DataRegionDef.Name); } if (matrixHeadingDef.Grouping != null && matrixHeadingDef.Grouping.GroupLabel != null) { m_label = pc.NavigationInfo.RegisterLabel(pc.ReportRuntime.EvaluateGroupingLabelExpression(matrixHeadingDef.Grouping, matrixHeadingDef.DataRegionDef.ObjectType, matrixHeadingDef.DataRegionDef.Name)); } if (matrixHeadingDef.Grouping != null && matrixHeadingDef.Grouping.CustomProperties != null) { m_customPropertyInstances = matrixHeadingDef.Grouping.CustomProperties.EvaluateExpressions(matrixHeadingDef.DataRegionDef.ObjectType, matrixHeadingDef.DataRegionDef.Name, matrixHeadingDef.Grouping.Name + ".", pc); } matrixHeadingDef.StartHidden = m_startHidden; }
internal MatrixCellInstanceInfo(int rowIndex, int colIndex, Matrix matrixDef, int cellDefIndex, ReportProcessing.ProcessingContext pc, MatrixCellInstance owner, out NonComputedUniqueNames nonComputedUniqueNames) { m_rowIndex = rowIndex; m_columnIndex = colIndex; if (0 < matrixDef.CellReportItems.Count && !matrixDef.CellReportItems.IsReportItemComputed(cellDefIndex)) { m_contentUniqueNames = NonComputedUniqueNames.CreateNonComputedUniqueNames(pc, matrixDef.CellReportItems[cellDefIndex]); } nonComputedUniqueNames = m_contentUniqueNames; Global.Tracer.Assert(cellDefIndex < matrixDef.FirstCellInstances.Count); if (matrixDef.FirstCellInstances[cellDefIndex]) { pc.ChunkManager.AddInstanceToFirstPage(this, owner, pc.InPageSection); matrixDef.FirstCellInstances[cellDefIndex] = false; } else { pc.ChunkManager.AddInstance(this, owner, pc.InPageSection); } }
internal MatrixInstanceInfo(ReportProcessing.ProcessingContext pc, Matrix reportItemDef, MatrixInstance owner) : base(pc, reportItemDef, owner, addToChunk: false) { if (0 < reportItemDef.CornerReportItems.Count && !reportItemDef.CornerReportItems.IsReportItemComputed(0)) { m_cornerNonComputedNames = NonComputedUniqueNames.CreateNonComputedUniqueNames(pc, reportItemDef.CornerReportItems[0]); } reportItemDef.CornerNonComputedUniqueNames = m_cornerNonComputedNames; if (!pc.DelayAddingInstanceInfo) { if (reportItemDef.FirstInstance) { pc.ChunkManager.AddInstanceToFirstPage(this, owner, pc.InPageSection); reportItemDef.FirstInstance = false; } else { pc.ChunkManager.AddInstance(this, owner, pc.InPageSection); } } m_noRows = pc.ReportRuntime.EvaluateDataRegionNoRowsExpression(reportItemDef, reportItemDef.ObjectType, reportItemDef.Name, "NoRows"); }