private async Task searchTableAsync() { getInvests gn = new getInvests(); List <InvestsModel> allnews = await gn.GetAllNews(); table.Source = new ListsInvistsModelSource(allnews.ToArray(), this, searchBar.Text); //tableSource.PerformSearch(searchBar.Text); table.ReloadData(); }
// This method will add the UIRefreshControl to the table view if // it is available, ie, we are running on iOS 6+ void AddRefreshControl() { if (UIDevice.CurrentDevice.CheckSystemVersion(6, 0)) { // the refresh control is available, let's add it RefreshControl = new UIRefreshControl(); RefreshControl.ValueChanged += async(sender, e) => { getInvests gn = new getInvests(); List <InvestsModel> allnews = await gn.GetAllNews(); table.Source = new ListsInvistsModelSource(allnews.ToArray(), this, ""); await RefreshAsync(); }; useRefreshControl = true; } }
public override async void ViewDidLoad() { base.ViewDidLoad(); var btn = new UIButton(UIButtonType.Custom); btn.Frame = new CGRect(0, 0, 40, 40); btn.SetImage(UIImage.FromBundle("barlogo"), UIControlState.Normal); showIndicator(); searchBar = new UISearchBar() { Placeholder = " ", Prompt = " ", ShowsScopeBar = true }; searchBar.SizeToFit(); searchBar.AutocorrectionType = UITextAutocorrectionType.No; searchBar.AutocapitalizationType = UITextAutocapitalizationType.None; searchBar.ReturnKeyType = UIReturnKeyType.Done; searchBar.EnablesReturnKeyAutomatically = false; this.NavigationItem.SetLeftBarButtonItem(new UIBarButtonItem(btn), true); this.NavigationItem.TitleView = searchBar; searchBar.SearchButtonClicked += (sender, e) => { // Search(); }; searchBar.TextChanged += (sender, e) => { //this is the method that is called when the user searches searchTableAsync(); }; searchBar.CancelButtonClicked += (sender, e) => { searchBar.ResignFirstResponder(); }; searchBar.SelectedScopeButtonIndexChanged += (sender, e) => { searchBar.ResignFirstResponder(); }; searchBar.SearchButtonClicked += (sender, e) => { // searchTable(); searchBar.ResignFirstResponder(); }; searchBar.CancelButtonClicked += (sender, e) => { searchBar.ResignFirstResponder(); }; searchBar.SelectedScopeButtonIndexChanged += (sender, e) => { searchBar.ResignFirstResponder(); }; searchBar.SearchButtonClicked += (sender, e) => { // searchTable(); searchBar.ResignFirstResponder(); }; getInvests gn = new getInvests(); List <InvestsModel> allnews = await gn.GetAllNews(); if (allnews != null) { table = new UITableView(new CGRect(0, 20, View.Bounds.Width - 5, View.Bounds.Height - 20)); table.AutoresizingMask = UIViewAutoresizing.All; table.RowHeight = 120f; table.EstimatedRowHeight = 120f; table.Source = new ListsInvistsModelSource(allnews.ToArray(), this, ""); await RefreshAsync(); AddRefreshControl(); //table.TableHeaderView = searchBar; Add(table); hideIndicator(); table.Add(RefreshControl); } else { var alrt = UIAlertController.Create("Nuca", "يرجي التاكد من الاتصال بالانترنت", UIAlertControllerStyle.Alert); alrt.AddAction(UIAlertAction.Create("OK", UIAlertActionStyle.Default, null)); PresentViewController(alrt, true, null); hideIndicator(); } }