Пример #1
0
 private void AdjustBodyWhitespace()
 {
     if (this.m_reportDef.ReportItems != null && this.m_reportDef.ReportItems.Count != 0)
     {
         double num   = 0.0;
         double num2  = 0.0;
         int    count = this.m_reportDef.ReportItems.Count;
         for (int i = 0; i < count; i++)
         {
             AspNetCore.ReportingServices.ReportProcessing.ReportItem reportItem = this.m_reportDef.ReportItems[i];
             num  = Math.Max(num, reportItem.LeftValue + reportItem.WidthValue);
             num2 = Math.Max(num2, reportItem.TopValue + reportItem.HeightValue);
         }
         this.m_reportDef.HeightValue = Math.Min(this.m_reportDef.HeightValue, num2);
         string format = "{0:0.#####}mm";
         this.m_reportDef.Height = string.Format(CultureInfo.InvariantCulture, format, this.m_reportDef.HeightValue);
         double num3 = Math.Max(1.0, this.m_reportDef.PageWidthValue - this.m_reportDef.LeftMarginValue - this.m_reportDef.RightMarginValue);
         if (this.m_reportDef.Columns > 1)
         {
             num3 -= (double)(this.m_reportDef.Columns - 1) * this.m_reportDef.ColumnSpacingValue;
             num3  = Math.Max(1.0, num3 / (double)this.m_reportDef.Columns);
         }
         num  = Math.Round(num, 1);
         num3 = Math.Round(num3, 1);
         this.m_reportDef.WidthValue = Math.Min(this.m_reportDef.WidthValue, num3 * Math.Ceiling(num / num3));
         this.m_reportDef.Width      = string.Format(CultureInfo.InvariantCulture, format, this.m_reportDef.WidthValue);
     }
 }
        public ReportItem FindReportItemInBody(int uniqueName)
        {
            object obj = null;
            NonComputedUniqueNames nonComputedUniqueNames = null;
            QuickFindHashtable     quickFind = this.ReportSnapshot.GetQuickFind(this.ChunkManager);

            if (quickFind != null)
            {
                obj = quickFind[uniqueName];
            }
            if (obj == null)
            {
                Global.Tracer.Assert(null != this.ReportSnapshot.ReportInstance);
                obj = ((ISearchByUniqueName)this.ReportSnapshot.ReportInstance).Find(uniqueName, ref nonComputedUniqueNames, this.ChunkManager);
                if (obj == null)
                {
                    return(null);
                }
            }
            if (obj is AspNetCore.ReportingServices.ReportProcessing.ReportItem)
            {
                AspNetCore.ReportingServices.ReportProcessing.ReportItem reportItemDef = (AspNetCore.ReportingServices.ReportProcessing.ReportItem)obj;
                return(ReportItem.CreateItem(-1, reportItemDef, null, this, nonComputedUniqueNames));
            }
            AspNetCore.ReportingServices.ReportProcessing.ReportItemInstance reportItemInstance = (AspNetCore.ReportingServices.ReportProcessing.ReportItemInstance)obj;
            return(ReportItem.CreateItem(-1, reportItemInstance.ReportItemDef, reportItemInstance, this, nonComputedUniqueNames));
        }
Пример #3
0
 public ReportItem Find(string uniqueName)
 {
     if (uniqueName != null && uniqueName.Length > 0)
     {
         if (uniqueName.Equals(base.UniqueName))
         {
             return(this);
         }
         char[] separator = new char[1]
         {
             'a'
         };
         string[] array = uniqueName.Split(separator);
         if (array != null && array.Length >= 2)
         {
             object obj = (this.m_pageSectionInstance != null) ? ((ISearchByUniqueName)this.m_pageSectionInstance) : ((ISearchByUniqueName)this.m_pageSectionDef);
             NonComputedUniqueNames nonComputedUniqueNames = null;
             int num = -1;
             for (int i = 1; i < array.Length; i++)
             {
                 IIndexInto indexInto = obj as IIndexInto;
                 if (indexInto == null)
                 {
                     obj = null;
                     break;
                 }
                 num = ReportItem.StringToInt(array[i]);
                 NonComputedUniqueNames nonComputedUniqueNames2 = null;
                 obj = indexInto.GetChildAt(num, out nonComputedUniqueNames2);
                 if (nonComputedUniqueNames == null)
                 {
                     nonComputedUniqueNames = nonComputedUniqueNames2;
                     continue;
                 }
                 if (nonComputedUniqueNames.ChildrenUniqueNames == null || num < 0 || num >= nonComputedUniqueNames.ChildrenUniqueNames.Length)
                 {
                     return(null);
                 }
                 nonComputedUniqueNames = nonComputedUniqueNames.ChildrenUniqueNames[num];
             }
             if (obj == null)
             {
                 return(null);
             }
             if (obj is AspNetCore.ReportingServices.ReportProcessing.ReportItem)
             {
                 AspNetCore.ReportingServices.ReportProcessing.ReportItem reportItemDef = (AspNetCore.ReportingServices.ReportProcessing.ReportItem)obj;
                 return(ReportItem.CreateItem(uniqueName, reportItemDef, null, base.RenderingContext, nonComputedUniqueNames));
             }
             ReportItemInstance reportItemInstance = (ReportItemInstance)obj;
             return(ReportItem.CreateItem(uniqueName, reportItemInstance.ReportItemDef, reportItemInstance, base.RenderingContext, nonComputedUniqueNames));
         }
         return(null);
     }
     return(null);
 }
Пример #4
0
 public ReportItem(string uniqueName, int intUniqueName, AspNetCore.ReportingServices.ReportProcessing.ReportItem reportItemDef, ReportItemInstance reportItemInstance, RenderingContext renderingContext)
 {
     this.m_members       = new ReportItemRendering();
     this.m_uniqueName    = uniqueName;
     this.m_intUniqueName = intUniqueName;
     this.Rendering.m_renderingContext   = renderingContext;
     this.Rendering.m_reportItemDef      = reportItemDef;
     this.Rendering.m_reportItemInstance = reportItemInstance;
     this.Rendering.m_headingInstance    = renderingContext.HeadingInstance;
 }
Пример #5
0
        public static ReportItem CreateItem(int indexIntoParentCollection, AspNetCore.ReportingServices.ReportProcessing.ReportItem reportItemDef, ReportItemInstance reportItemInstance, RenderingContext renderingContext, NonComputedUniqueNames nonComputedUniqueNames)
        {
            string uniqueName = null;

            if (renderingContext.InPageSection)
            {
                uniqueName = renderingContext.UniqueNamePrefix + "a" + indexIntoParentCollection.ToString(CultureInfo.InvariantCulture);
            }
            return(ReportItem.CreateItem(uniqueName, reportItemDef, reportItemInstance, renderingContext, nonComputedUniqueNames));
        }
Пример #6
0
 public Style(ReportItem reportItem, AspNetCore.ReportingServices.ReportProcessing.ReportItem reportItemDef, RenderingContext context)
     : base(context)
 {
     Global.Tracer.Assert(!base.IsCustomControl);
     this.m_reportItem    = reportItem;
     this.m_reportItemDef = reportItemDef;
     if (reportItem is Line)
     {
         this.m_styleDefaults = Style.LineStyleDefaults;
     }
     else
     {
         this.m_styleDefaults = Style.NormalStyleDefaults;
     }
 }
        private DataElementOutputTypes GetDataElementOutputTypeForRowCol(int index)
        {
            AspNetCore.ReportingServices.ReportProcessing.Matrix matrix = (AspNetCore.ReportingServices.ReportProcessing.Matrix)base.OwnerDataRegion.ReportItemDef;
            int num;
            int num2;
            int count;

            if (this.m_headingDef.IsColumn)
            {
                num   = 0;
                num2  = index;
                count = matrix.MatrixRows.Count;
            }
            else
            {
                num   = index;
                num2  = 0;
                count = matrix.MatrixColumns.Count;
            }
            while (true)
            {
                AspNetCore.ReportingServices.ReportProcessing.ReportItem cellReportItem = matrix.GetCellReportItem(num, num2);
                if (cellReportItem.DataElementOutput != DataElementOutputTypes.NoOutput)
                {
                    return(DataElementOutputTypes.Output);
                }
                if (this.m_headingDef.IsColumn)
                {
                    num++;
                    if (num >= count)
                    {
                        break;
                    }
                }
                else
                {
                    num2++;
                    if (num2 >= count)
                    {
                        break;
                    }
                }
            }
            return(DataElementOutputTypes.NoOutput);
        }
Пример #8
0
 public ReportItem this[int index]
 {
     get
     {
         if (0 <= index && index < this.Count)
         {
             ReportItem reportItem = null;
             if (this.m_reportItems == null || this.m_reportItems[index] == null)
             {
                 int  num  = 0;
                 bool flag = false;
                 AspNetCore.ReportingServices.ReportProcessing.ReportItem reportItemDef = null;
                 this.m_reportItemColDef.GetReportItem(index, out flag, out num, out reportItemDef);
                 NonComputedUniqueNames nonComputedUniqueNames = null;
                 ReportItemInstance     reportItemInstance     = null;
                 if (!flag)
                 {
                     if (this.m_childrenNonComputedUniqueNames != null)
                     {
                         nonComputedUniqueNames = this.m_childrenNonComputedUniqueNames[num];
                     }
                 }
                 else if (this.m_reportItemColInstance != null)
                 {
                     reportItemInstance = this.m_reportItemColInstance[num];
                 }
                 reportItem = ReportItem.CreateItem(index, reportItemDef, reportItemInstance, this.m_renderingContext, nonComputedUniqueNames);
                 if (this.m_renderingContext.CacheState)
                 {
                     if (this.m_reportItems == null)
                     {
                         this.m_reportItems = new ReportItem[this.Count];
                     }
                     this.m_reportItems[index] = reportItem;
                 }
             }
             else
             {
                 reportItem = this.m_reportItems[index];
             }
             return(reportItem);
         }
         throw new RenderingObjectModelException(ProcessingErrorCode.rsInvalidParameterRange, index, 0, this.Count);
     }
 }
        public void Populate(ErrorContext errorContext)
        {
            Global.Tracer.Assert(this.m_unpopulated);
            Global.Tracer.Assert(null != this.m_entries);
            Hashtable hashtable = new Hashtable();
            int       num       = -1;

            if (0 < this.m_entries.Count)
            {
                if (this.m_normal)
                {
                    this.m_entries.Sort();
                }
                this.m_nonComputedReportItems = new ReportItemList();
                this.m_computedReportItems    = new ReportItemList();
                this.m_sortedReportItemList   = new ReportItemIndexerList();
                for (int i = 0; i < this.m_entries.Count; i++)
                {
                    ReportItem reportItem = this.m_entries[i];
                    Global.Tracer.Assert(null != reportItem);
                    if (reportItem is DataRegion)
                    {
                        hashtable[reportItem.Name] = reportItem;
                    }
                    ReportItemIndexer reportItemIndexer = default(ReportItemIndexer);
                    if (reportItem.Computed)
                    {
                        reportItemIndexer.Index = this.m_computedReportItems.Add(reportItem);
                    }
                    else
                    {
                        reportItemIndexer.Index = this.m_nonComputedReportItems.Add(reportItem);
                    }
                    reportItemIndexer.IsComputed = reportItem.Computed;
                    this.m_sortedReportItemList.Add(reportItemIndexer);
                }
            }
            this.m_unpopulated = false;
            this.m_entries     = null;
            for (int j = 0; j < this.Count; j++)
            {
                ReportItem reportItem2 = this[j];
                Global.Tracer.Assert(null != reportItem2);
                if (reportItem2.RepeatWith != null)
                {
                    if (reportItem2 is DataRegion || reportItem2 is SubReport || (reportItem2 is Rectangle && ((Rectangle)reportItem2).ContainsDataRegionOrSubReport()))
                    {
                        errorContext.Register(ProcessingErrorCode.rsInvalidRepeatWith, Severity.Error, reportItem2.ObjectType, reportItem2.Name, "RepeatWith");
                    }
                    if (!this.m_normal || !hashtable.ContainsKey(reportItem2.RepeatWith))
                    {
                        errorContext.Register(ProcessingErrorCode.rsRepeatWithNotPeerDataRegion, Severity.Error, reportItem2.ObjectType, reportItem2.Name, "RepeatWith", reportItem2.RepeatWith);
                    }
                    DataRegion dataRegion = (DataRegion)hashtable[reportItem2.RepeatWith];
                    if (dataRegion != null)
                    {
                        if (dataRegion.RepeatSiblings == null)
                        {
                            dataRegion.RepeatSiblings = new IntList();
                        }
                        dataRegion.RepeatSiblings.Add(j);
                    }
                }
                if (this.m_linkToChildName != null && num < 0 && reportItem2.Name.Equals(this.m_linkToChildName, StringComparison.Ordinal))
                {
                    num = j;
                    ((Rectangle)reportItem2.Parent).LinkToChild = j;
                }
            }
        }
Пример #10
0
 protected ReportItem(int id, ReportItem parent)
     : base(id)
 {
     this.m_parent = parent;
 }
Пример #11
0
        public static ReportItem CreateItem(string uniqueName, AspNetCore.ReportingServices.ReportProcessing.ReportItem reportItemDef, ReportItemInstance reportItemInstance, RenderingContext renderingContext, NonComputedUniqueNames nonComputedUniqueNames)
        {
            if (reportItemDef == null)
            {
                return(null);
            }
            Global.Tracer.Assert(null != renderingContext);
            ReportItem reportItem    = null;
            int        intUniqueName = 0;

            NonComputedUniqueNames[] childrenNonComputedUniqueNames = null;
            if (reportItemInstance != null)
            {
                intUniqueName = reportItemInstance.UniqueName;
            }
            else if (nonComputedUniqueNames != null)
            {
                intUniqueName = nonComputedUniqueNames.UniqueName;
                childrenNonComputedUniqueNames = nonComputedUniqueNames.ChildrenUniqueNames;
            }
            if (reportItemDef is AspNetCore.ReportingServices.ReportProcessing.Line)
            {
                AspNetCore.ReportingServices.ReportProcessing.Line reportItemDef2 = (AspNetCore.ReportingServices.ReportProcessing.Line)reportItemDef;
                LineInstance reportItemInstance2 = (LineInstance)reportItemInstance;
                reportItem = new Line(uniqueName, intUniqueName, reportItemDef2, reportItemInstance2, renderingContext);
            }
            else if (reportItemDef is AspNetCore.ReportingServices.ReportProcessing.CheckBox)
            {
                AspNetCore.ReportingServices.ReportProcessing.CheckBox reportItemDef3 = (AspNetCore.ReportingServices.ReportProcessing.CheckBox)reportItemDef;
                CheckBoxInstance reportItemInstance3 = (CheckBoxInstance)reportItemInstance;
                reportItem = new CheckBox(uniqueName, intUniqueName, reportItemDef3, reportItemInstance3, renderingContext);
            }
            else if (reportItemDef is AspNetCore.ReportingServices.ReportProcessing.Image)
            {
                AspNetCore.ReportingServices.ReportProcessing.Image reportItemDef4 = (AspNetCore.ReportingServices.ReportProcessing.Image)reportItemDef;
                ImageInstance reportItemInstance4 = (ImageInstance)reportItemInstance;
                reportItem = new Image(uniqueName, intUniqueName, reportItemDef4, reportItemInstance4, renderingContext);
            }
            else if (reportItemDef is AspNetCore.ReportingServices.ReportProcessing.TextBox)
            {
                AspNetCore.ReportingServices.ReportProcessing.TextBox reportItemDef5 = (AspNetCore.ReportingServices.ReportProcessing.TextBox)reportItemDef;
                TextBoxInstance reportItemInstance5 = (TextBoxInstance)reportItemInstance;
                reportItem = new TextBox(uniqueName, intUniqueName, reportItemDef5, reportItemInstance5, renderingContext);
            }
            else if (reportItemDef is AspNetCore.ReportingServices.ReportProcessing.Rectangle)
            {
                AspNetCore.ReportingServices.ReportProcessing.Rectangle reportItemDef6 = (AspNetCore.ReportingServices.ReportProcessing.Rectangle)reportItemDef;
                RectangleInstance reportItemInstance6 = (RectangleInstance)reportItemInstance;
                reportItem = new Rectangle(uniqueName, intUniqueName, reportItemDef6, reportItemInstance6, renderingContext, childrenNonComputedUniqueNames);
            }
            else if (reportItemDef is AspNetCore.ReportingServices.ReportProcessing.ActiveXControl)
            {
                AspNetCore.ReportingServices.ReportProcessing.ActiveXControl reportItemDef7 = (AspNetCore.ReportingServices.ReportProcessing.ActiveXControl)reportItemDef;
                ActiveXControlInstance reportItemInstance7 = (ActiveXControlInstance)reportItemInstance;
                reportItem = new ActiveXControl(uniqueName, intUniqueName, reportItemDef7, reportItemInstance7, renderingContext);
            }
            else if (reportItemDef is AspNetCore.ReportingServices.ReportProcessing.SubReport)
            {
                AspNetCore.ReportingServices.ReportProcessing.SubReport subReport = (AspNetCore.ReportingServices.ReportProcessing.SubReport)reportItemDef;
                SubReportInstance subReportInstance = (SubReportInstance)reportItemInstance;
                bool   processedWithError           = false;
                Report innerReport;
                if (AspNetCore.ReportingServices.ReportProcessing.SubReport.Status.Retrieved != subReport.RetrievalStatus)
                {
                    innerReport        = null;
                    processedWithError = true;
                }
                else
                {
                    if (subReport.ReportContext == null && renderingContext.CurrentReportContext != null)
                    {
                        subReport.ReportContext = renderingContext.CurrentReportContext.GetSubreportContext(subReport.ReportPath);
                    }
                    ICatalogItemContext reportContext     = subReport.ReportContext;
                    RenderingContext    renderingContext2 = new RenderingContext(renderingContext, subReport.Uri, subReport.Report.EmbeddedImages, subReport.Report.ImageStreamNames, reportContext);
                    if (subReportInstance == null)
                    {
                        innerReport = new Report(subReport.Report, null, renderingContext2, subReport.ReportName, subReport.Description, null);
                    }
                    else if (subReportInstance.ReportInstance == null)
                    {
                        processedWithError = true;
                        innerReport        = new Report(subReport.Report, null, renderingContext2, subReport.ReportName, subReport.Description, null);
                    }
                    else
                    {
                        innerReport = new Report(subReport.Report, subReportInstance.ReportInstance, renderingContext2, subReport.ReportName, subReport.Description, null);
                    }
                }
                reportItem = new SubReport(intUniqueName, subReport, subReportInstance, renderingContext, innerReport, processedWithError);
            }
            else if (reportItemDef is AspNetCore.ReportingServices.ReportProcessing.List)
            {
                AspNetCore.ReportingServices.ReportProcessing.List reportItemDef8 = (AspNetCore.ReportingServices.ReportProcessing.List)reportItemDef;
                ListInstance reportItemInstance8 = (ListInstance)reportItemInstance;
                reportItem = new List(intUniqueName, reportItemDef8, reportItemInstance8, renderingContext);
            }
            else if (reportItemDef is AspNetCore.ReportingServices.ReportProcessing.Matrix)
            {
                AspNetCore.ReportingServices.ReportProcessing.Matrix reportItemDef9 = (AspNetCore.ReportingServices.ReportProcessing.Matrix)reportItemDef;
                MatrixInstance reportItemInstance9 = (MatrixInstance)reportItemInstance;
                reportItem = new Matrix(intUniqueName, reportItemDef9, reportItemInstance9, renderingContext);
            }
            else if (reportItemDef is AspNetCore.ReportingServices.ReportProcessing.Table)
            {
                AspNetCore.ReportingServices.ReportProcessing.Table reportItemDef10 = (AspNetCore.ReportingServices.ReportProcessing.Table)reportItemDef;
                TableInstance reportItemInstance10 = (TableInstance)reportItemInstance;
                reportItem = new Table(intUniqueName, reportItemDef10, reportItemInstance10, renderingContext);
            }
            else if (reportItemDef is AspNetCore.ReportingServices.ReportProcessing.OWCChart)
            {
                AspNetCore.ReportingServices.ReportProcessing.OWCChart reportItemDef11 = (AspNetCore.ReportingServices.ReportProcessing.OWCChart)reportItemDef;
                OWCChartInstance reportItemInstance11 = (OWCChartInstance)reportItemInstance;
                reportItem = new OWCChart(intUniqueName, reportItemDef11, reportItemInstance11, renderingContext);
            }
            else if (reportItemDef is AspNetCore.ReportingServices.ReportProcessing.Chart)
            {
                AspNetCore.ReportingServices.ReportProcessing.Chart reportItemDef12 = (AspNetCore.ReportingServices.ReportProcessing.Chart)reportItemDef;
                ChartInstance reportItemInstance12 = (ChartInstance)reportItemInstance;
                reportItem = new Chart(intUniqueName, reportItemDef12, reportItemInstance12, renderingContext);
            }
            else if (reportItemDef is AspNetCore.ReportingServices.ReportProcessing.CustomReportItem)
            {
                AspNetCore.ReportingServices.ReportProcessing.CustomReportItem reportItemDef13 = (AspNetCore.ReportingServices.ReportProcessing.CustomReportItem)reportItemDef;
                CustomReportItemInstance reportItemInstance13 = (CustomReportItemInstance)reportItemInstance;
                reportItem = new CustomReportItem(uniqueName, intUniqueName, reportItemDef13, reportItemInstance13, renderingContext, childrenNonComputedUniqueNames);
                if (!renderingContext.NativeAllCRITypes && (renderingContext.NativeCRITypes == null || !renderingContext.NativeCRITypes.ContainsKey(((CustomReportItem)reportItem).Type)))
                {
                    reportItem = ((CustomReportItem)reportItem).AltReportItem;
                }
            }
            return(reportItem);
        }
Пример #12
0
 protected ReportItem(ReportItem parent)
 {
     this.m_parent = parent;
 }
Пример #13
0
 public DataRegion(int intUniqueName, AspNetCore.ReportingServices.ReportProcessing.ReportItem reportItemDef, ReportItemInstance reportItemInstance, RenderingContext renderingContext)
     : base(null, intUniqueName, reportItemDef, reportItemInstance, renderingContext)
 {
 }
Пример #14
0
 public Tablix(ReportItem parent)
     : base(parent)
 {
 }
Пример #15
0
 public Rectangle(string uniqueName, int intUniqueName, AspNetCore.ReportingServices.ReportProcessing.ReportItem reportItemDef, ReportItemInstance reportItemInstance, RenderingContext renderingContext, NonComputedUniqueNames[] childrenNonComputedUniqueNames)
     : base(uniqueName, intUniqueName, reportItemDef, reportItemInstance, renderingContext)
 {
     this.m_childrenNonComputedUniqueNames = childrenNonComputedUniqueNames;
 }
Пример #16
0
 public List(ReportItem parent)
     : base(parent)
 {
 }
 public void GetReportItem(int index, out bool computed, out int internalIndex, out ReportItem reportItem)
 {
     Global.Tracer.Assert(!this.m_unpopulated);
     computed      = false;
     internalIndex = -1;
     reportItem    = null;
     if (this.m_sortedReportItemList != null && 0 <= index && index < this.m_sortedReportItemList.Count)
     {
         ReportItemIndexer reportItemIndexer = this.m_sortedReportItemList[index];
         if (0 <= reportItemIndexer.Index)
         {
             computed      = reportItemIndexer.IsComputed;
             internalIndex = reportItemIndexer.Index;
             reportItem    = this.InternalGet(internalIndex, computed);
         }
     }
 }
Пример #18
0
 private DataElementOutputTypes GetDataElementOutputTypeFromCell(int rowIndex, int columnIndex)
 {
     AspNetCore.ReportingServices.ReportProcessing.Matrix     matrix         = (AspNetCore.ReportingServices.ReportProcessing.Matrix)base.OwnerDataRegion.ReportItemDef;
     AspNetCore.ReportingServices.ReportProcessing.ReportItem cellReportItem = matrix.GetCellReportItem(rowIndex, columnIndex);
     return(cellReportItem.DataElementOutput);
 }
Пример #19
0
 public List(int id, int idForListContent, int idForReportItems, ReportItem parent)
     : base(id, parent)
 {
     this.m_hierarchyDef = new ReportHierarchyNode(idForListContent, this);
     this.m_reportItems  = new ReportItemCollection(idForReportItems, true);
 }