public ReportItem Find(string uniqueName) { if (uniqueName == null || uniqueName.Length <= 0) { return(null); } if (uniqueName.Equals(base.UniqueName)) { return(this); } char[] separator = new char[1] { 'a' }; string[] array = uniqueName.Split(separator); if (array == null || array.Length < 2) { return(null); } object obj = (m_pageSectionInstance != null) ? ((ISearchByUniqueName)m_pageSectionInstance) : ((ISearchByUniqueName)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 nonCompNames = null; obj = indexInto.GetChildAt(num, out nonCompNames); if (nonComputedUniqueNames == null) { nonComputedUniqueNames = nonCompNames; 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 Microsoft.ReportingServices.ReportProcessing.ReportItem) { Microsoft.ReportingServices.ReportProcessing.ReportItem reportItemDef = (Microsoft.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)); }
public ReportItem Find(string uniqueName) { if (uniqueName == null || uniqueName.Length <= 0) { return(null); } int num = ReportItem.StringToInt(uniqueName); if (num < 0) { return(null); } return(m_renderingContext.FindReportItemInBody(num)); }