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