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));
        }
Example #2
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);
 }
        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));
        }
Example #4
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);
     }
 }