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)); }
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)); }
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); } }