public void ShowView() { if (Players == null) { Players = AppDelegate.Self.ApiClient.Get (new GetPlayersInRound { Id = RoundId, Distinct = Distinct }); // Show list alphabetically Players = Players.OrderBy (p => p.Name).ThenBy (p => p.FirstNames).ToList (); } var source = new PlayerPickerView (Players); source.ItemSelected += HandleItemSelected; playerPickerView.Source = source; playerPickerView.ReloadData (); playerSearchBar.Text = ""; playerSearchBar.BecomeFirstResponder (); }
void Search(object sender, UISearchBarTextChangedEventArgs e) { IEnumerable<Player> searchResults = new List<Player>(); int nbr; if (int.TryParse (e.SearchText, out nbr)) searchResults = Players.Where (p => p.PlayerNumber.Equals(nbr)); else searchResults = Players.Where (p => string.Format ("{0} {1}", p.Name, p.FirstNames).ToLower().Contains (e.SearchText.ToLower())); var source = new PlayerPickerView (searchResults.ToList ()); source.ItemSelected += HandleItemSelected; playerPickerView.Source = source; playerPickerView.ReloadData (); }