示例#1
0
        public static void SearchBarEnterPressed(Object sender, SearchBarEventArgs e)
        {
            // Using filtered objects will include parents which are not string matched.
            // It is necessary to remove them from the array first.

            NlmTreeListView listView      = e.ListView;
            String          searchString  = e.Text;
            IList           filteredNodes = new List <BaseTreeNode>();

            foreach (BaseTreeNode treeNode in listView.FilteredObjects)
            {
                String name = listView.NlmColumns.NameColumn.AspectEngine.GetAspect(treeNode) as String;
                if (name.IndexOf(searchString, StringComparison.OrdinalIgnoreCase) >= 0)
                {
                    filteredNodes.Add(treeNode);
                }
            }

            listView.SelectObjects(filteredNodes);
        }
示例#2
0
        public static void SearchBarTextChanged(Object sender, SearchBarEventArgs e)
        {
            try
            {
                e.ListView.BeginUpdate();

                // TODO: Why did I do this selection memory thing?
                IList selection = e.ListView.SelectedObjects;

                NlmTreeNodeFilterEngine nlmNodeFilter = e.ListView.ModelFilter as NlmTreeNodeFilterEngine;
                nlmNodeFilter.AddStringFilter(e.Text);
                e.ListView.ModelFilter = nlmNodeFilter;

                e.ListView.SelectObjects(selection);
            }
            catch
            {
                throw new Exception();
            }
            finally
            {
                e.ListView.EndUpdate();
            }
        }