internal MatrixSubtotalCellInstance(int rowIndex, int colIndex, Matrix matrixDef, int cellDefIndex, ReportProcessing.ProcessingContext pc, out NonComputedUniqueNames nonComputedUniqueNames) : base(rowIndex, colIndex, matrixDef, cellDefIndex, pc, out nonComputedUniqueNames) { Global.Tracer.Assert(pc.HeadingInstance != null); Global.Tracer.Assert(pc.HeadingInstance.MatrixHeadingDef.Subtotal.StyleClass != null); m_subtotalHeadingInstance = pc.HeadingInstance; }
internal void Add(MatrixHeadingInstance matrixHeadingInstance, ReportProcessing.ProcessingContext pc) { if (m_lastHeadingInstance != null) { m_lastHeadingInstance.InstanceInfo.HeadingSpan = matrixHeadingInstance.InstanceInfo.HeadingCellIndex - m_lastHeadingInstance.InstanceInfo.HeadingCellIndex; bool flag = true; MatrixHeading matrixHeadingDef = m_lastHeadingInstance.MatrixHeadingDef; if (pc.ReportItemsReferenced) { Matrix matrix = (Matrix)matrixHeadingDef.DataRegionDef; if (matrixHeadingDef.IsColumn) { if (matrix.ProcessingInnerGrouping == Pivot.ProcessingInnerGroupings.Column) { flag = false; } } else if (matrix.ProcessingInnerGrouping == Pivot.ProcessingInnerGroupings.Row) { flag = false; } } if (flag) { bool flag2; if (m_lastHeadingInstance.IsSubtotal) { flag2 = m_lastHeadingInstance.MatrixHeadingDef.Subtotal.FirstInstance; m_lastHeadingInstance.MatrixHeadingDef.Subtotal.FirstInstance = false; } else { BoolList firstHeadingInstances = m_lastHeadingInstance.MatrixHeadingDef.FirstHeadingInstances; flag2 = firstHeadingInstances[m_lastHeadingInstance.HeadingIndex]; firstHeadingInstances[m_lastHeadingInstance.HeadingIndex] = false; } pc.ChunkManager.AddInstance(m_lastHeadingInstance.InstanceInfo, m_lastHeadingInstance, flag2 || matrixHeadingDef.InFirstPage, pc.InPageSection); } } base.Add(matrixHeadingInstance); m_lastHeadingInstance = matrixHeadingInstance; matrixHeadingInstance.MatrixHeadingDef.InFirstPage = pc.ChunkManager.InFirstPage; }
internal MatrixSubtotalHeadingInstanceInfo(ReportProcessing.ProcessingContext pc, int headingCellIndex, MatrixHeading matrixHeadingDef, MatrixHeadingInstance owner, bool isSubtotal, int reportItemDefIndex, VariantList groupExpressionValues, out NonComputedUniqueNames nonComputedUniqueNames) : base(pc, headingCellIndex, matrixHeadingDef, owner, isSubtotal, reportItemDefIndex, groupExpressionValues, out nonComputedUniqueNames) { Global.Tracer.Assert(isSubtotal); Global.Tracer.Assert(matrixHeadingDef.Subtotal != null); Global.Tracer.Assert(matrixHeadingDef.Subtotal.StyleClass != null); if (matrixHeadingDef.Subtotal.StyleClass.ExpressionList != null) { m_styleAttributeValues = new object[matrixHeadingDef.Subtotal.StyleClass.ExpressionList.Count]; ReportProcessing.RuntimeRICollection.EvaluateStyleAttributes(ObjectType.Subtotal, matrixHeadingDef.Grouping.Name, matrixHeadingDef.Subtotal.StyleClass, owner.UniqueName, m_styleAttributeValues, pc); } }
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; }