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;
 }
예제 #2
0
 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;
        }