Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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));
        }