Ejemplo n.º 1
0
        internal static bool SearchPartialList(ListContentCollection contents, SearchContext searchContext, int startChild, int endChild)
        {
            if (contents == null)
            {
                return(false);
            }
            bool flag = false;

            while (startChild <= endChild && !flag)
            {
                flag = contents[startChild].ReportItemCollection.Search(searchContext);
                startChild++;
            }
            return(flag);
        }
Ejemplo n.º 2
0
        internal override bool Search(SearchContext searchContext)
        {
            if (base.SkipSearch || NoRows)
            {
                return(false);
            }
            bool flag = false;
            ListContentCollection contents = Contents;

            if (searchContext.ItemStartPage != searchContext.ItemEndPage)
            {
                int           startChild     = 0;
                int           endChild       = 0;
                SearchContext searchContext2 = new SearchContext(searchContext);
                GetListContentOnPage(searchContext.SearchPage, searchContext.ItemStartPage, out startChild, out endChild);
                IsListContentOnThisPage(startChild, searchContext.SearchPage, searchContext.ItemStartPage, out int startPage, out int endPage);
                searchContext2.ItemStartPage = startPage;
                searchContext2.ItemEndPage   = endPage;
                flag = SearchPartialList(contents, searchContext2, startChild, startChild);
                startChild++;
                if (!flag && startChild < endChild)
                {
                    searchContext2.ItemStartPage = searchContext.SearchPage;
                    searchContext2.ItemEndPage   = searchContext.SearchPage;
                    flag       = SearchPartialList(contents, searchContext2, startChild, endChild - 1);
                    startChild = endChild;
                }
                if (!flag && startChild == endChild)
                {
                    IsListContentOnThisPage(endChild, searchContext.SearchPage, searchContext.ItemStartPage, out startPage, out endPage);
                    searchContext2.ItemStartPage = startPage;
                    searchContext2.ItemEndPage   = endPage;
                    flag = SearchPartialList(contents, searchContext2, endChild, endChild);
                }
            }
            else
            {
                flag = SearchFullList(contents, searchContext);
            }
            return(flag);
        }
Ejemplo n.º 3
0
        internal static bool SearchFullList(ListContentCollection contents, SearchContext searchContext)
        {
            if (contents == null)
            {
                return(false);
            }
            bool        flag        = false;
            ListContent listContent = null;

            for (int i = 0; i < contents.Count; i++)
            {
                if (flag)
                {
                    break;
                }
                listContent = contents[i];
                if (!listContent.Hidden)
                {
                    flag = listContent.ReportItemCollection.Search(searchContext);
                }
            }
            return(flag);
        }