コード例 #1
0
 public ReportItemColInstance(ReportProcessing.ProcessingContext pc, ReportItemCollection reportItemsDef)
 {
     this.m_reportItemColDef = reportItemsDef;
     if (reportItemsDef.ComputedReportItems != null)
     {
         this.m_reportItemInstances = new ReportItemInstanceList(reportItemsDef.ComputedReportItems.Count);
     }
     if (pc != null)
     {
         this.m_childrenNonComputedUniqueNames = NonComputedUniqueNames.CreateNonComputedUniqueNames(pc, reportItemsDef);
     }
     base.m_instanceInfo = new ReportItemColInstanceInfo(pc, reportItemsDef, this);
 }
コード例 #2
0
 public static NonComputedUniqueNames CreateNonComputedUniqueNames(ReportProcessing.ProcessingContext pc, ReportItem reportItemDef)
 {
     if (reportItemDef != null && pc != null)
     {
         NonComputedUniqueNames[] childrenUniqueNames = null;
         if (reportItemDef is Rectangle)
         {
             childrenUniqueNames = NonComputedUniqueNames.CreateNonComputedUniqueNames(pc, ((Rectangle)reportItemDef).ReportItems);
         }
         return(new NonComputedUniqueNames(pc.CreateUniqueName(), childrenUniqueNames));
     }
     return(null);
 }
コード例 #3
0
        public 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 == ((ArrayList)groupExpressionValues)[0])
                    {
                        this.m_groupExpressionValue = null;
                    }
                    else
                    {
                        this.m_groupExpressionValue = ((ArrayList)groupExpressionValues)[0];
                    }
                }
            }
            if (0 < reportItems.Count && !reportItems.IsReportItemComputed(reportItemDefIndex))
            {
                this.m_contentUniqueNames = NonComputedUniqueNames.CreateNonComputedUniqueNames(pc, reportItems[reportItemDefIndex]);
            }
            nonComputedUniqueNames  = this.m_contentUniqueNames;
            this.m_headingCellIndex = headingCellIndex;
            if (!isSubtotal && pc.ShowHideType != 0)
            {
                this.m_startHidden = pc.ProcessReceiver(owner.UniqueName, matrixHeadingDef.Visibility, matrixHeadingDef.ExprHost, matrixHeadingDef.DataRegionDef.ObjectType, matrixHeadingDef.DataRegionDef.Name);
            }
            if (matrixHeadingDef.Grouping != null && matrixHeadingDef.Grouping.GroupLabel != null)
            {
                this.m_label = pc.NavigationInfo.RegisterLabel(pc.ReportRuntime.EvaluateGroupingLabelExpression(matrixHeadingDef.Grouping, matrixHeadingDef.DataRegionDef.ObjectType, matrixHeadingDef.DataRegionDef.Name));
            }
            if (matrixHeadingDef.Grouping != null && matrixHeadingDef.Grouping.CustomProperties != null)
            {
                this.m_customPropertyInstances = matrixHeadingDef.Grouping.CustomProperties.EvaluateExpressions(matrixHeadingDef.DataRegionDef.ObjectType, matrixHeadingDef.DataRegionDef.Name, matrixHeadingDef.Grouping.Name + ".", pc);
            }
            matrixHeadingDef.StartHidden = this.m_startHidden;
        }
コード例 #4
0
 public MatrixCellInstanceInfo(int rowIndex, int colIndex, Matrix matrixDef, int cellDefIndex, ReportProcessing.ProcessingContext pc, MatrixCellInstance owner, out NonComputedUniqueNames nonComputedUniqueNames)
 {
     this.m_rowIndex    = rowIndex;
     this.m_columnIndex = colIndex;
     if (0 < matrixDef.CellReportItems.Count && !matrixDef.CellReportItems.IsReportItemComputed(cellDefIndex))
     {
         this.m_contentUniqueNames = NonComputedUniqueNames.CreateNonComputedUniqueNames(pc, matrixDef.CellReportItems[cellDefIndex]);
     }
     nonComputedUniqueNames = this.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);
     }
 }
コード例 #5
0
 public static NonComputedUniqueNames[] CreateNonComputedUniqueNames(ReportProcessing.ProcessingContext pc, ReportItemCollection reportItemsDef)
 {
     if (reportItemsDef != null && pc != null)
     {
         ReportItemList nonComputedReportItems = reportItemsDef.NonComputedReportItems;
         if (nonComputedReportItems == null)
         {
             return(null);
         }
         if (nonComputedReportItems.Count == 0)
         {
             return(null);
         }
         NonComputedUniqueNames[] array = new NonComputedUniqueNames[nonComputedReportItems.Count];
         for (int i = 0; i < nonComputedReportItems.Count; i++)
         {
             array[i] = NonComputedUniqueNames.CreateNonComputedUniqueNames(pc, nonComputedReportItems[i]);
         }
         return(array);
     }
     return(null);
 }
コード例 #6
0
 public MatrixInstanceInfo(ReportProcessing.ProcessingContext pc, Matrix reportItemDef, MatrixInstance owner)
     : base(pc, reportItemDef, owner, false)
 {
     if (0 < reportItemDef.CornerReportItems.Count && !reportItemDef.CornerReportItems.IsReportItemComputed(0))
     {
         this.m_cornerNonComputedNames = NonComputedUniqueNames.CreateNonComputedUniqueNames(pc, reportItemDef.CornerReportItems[0]);
     }
     reportItemDef.CornerNonComputedUniqueNames = this.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);
         }
     }
     this.m_noRows = pc.ReportRuntime.EvaluateDataRegionNoRowsExpression(reportItemDef, reportItemDef.ObjectType, reportItemDef.Name, "NoRows");
 }