protected override void OnAppearing() { base.OnAppearing(); ItemsListView.BeginRefresh(); if (viewModel.Items.Count == 0) { viewModel.LoadItemsCommand.Execute(null); } }
protected override void OnAppearing() { base.OnAppearing(); if (viewModel.Items.Count == 0) { viewModel.LoadItemsCommand.Execute(null); } // Little hack to enforce item re-render. IObservable will not catch this. ItemsListView.BeginRefresh(); ItemsListView.EndRefresh(); }
void Handle_TextChanged(object sender, TextChangedEventArgs e) { var _container = BindingContext as FeedBacksViewModel; ItemsListView.BeginRefresh(); if (string.IsNullOrWhiteSpace(e.NewTextValue)) { ItemsListView.ItemsSource = _container.FeedBacks; } else { ItemsListView.ItemsSource = _container.FeedBacks.Where(i => i.Description.Contains(e.NewTextValue)); } ItemsListView.EndRefresh(); }
async void OnItemSelected(object sender, SelectedItemChangedEventArgs args) { var item = args.SelectedItem as Item; if (item == null) { return; } await Navigation.PushAsync(new ItemDetailPage(new ItemDetailViewModel(item))); ItemsListView.BeginRefresh(); ItemsListView.SelectedItem = null; ItemsListView.EndRefresh(); LoadItem(); RefreshPronóstico(); }
private async void Hinzufügen_Clicked(object sender, EventArgs e) { NewVorName.Text = NewVorName.Text.Trim(); NewNachName.Text = NewNachName.Text.Trim(); if (NewVorName.Text == "" && NewNachName.Text == "") { await this.DisplayAlert("Name fehlt", "Bitte einen Namen Eintragen", "OK"); return; } else if (viewModel.newItem.Id == -1 && viewModel.Items.FirstOrDefault(x => x.Vorname.Equals(NewVorName.Text) && x.Nachname.Equals(NewNachName.Text)) != null) { await this.DisplayAlert("Name Existiert bereits", "Der Gewünschte Name existiert bereits!!!", "OK"); return; } try { if (NewGeb.Text.Length > 0) { var geb = DateTime.ParseExact(NewGeb.Text, "dd.MM.yyyy", null); } if (NewTauf.Text.Length > 0) { var tauf = DateTime.ParseExact(NewTauf.Text, "dd.MM.yyyy", null); } } catch (Exception) { await this.DisplayAlert("Falsches Datumsformat", "Datum konnte nicht erkannt werden. \n richtiges Format: TT.MM.JJJJ", "OK"); return; } if (viewModel.newItem.Id == -1) { await viewModel.DataStore.AddItemAsync(viewModel.newItem); } else { await viewModel.DataStore.UpdateItemAsync(viewModel.newItem); } ItemsListView.BeginRefresh(); Zurücksetzen_Clicked(sender, e); }
//static public System.Collections.ObjectModel.ObservableCollection<Core.Messaging.Contact> List = new System.Collections.ObjectModel.ObservableCollection<Core.Messaging.Contact>(); public void PopulateList(CryptogramLibrary.Messaging.Contact[] contacts) { ItemsListView.SelectedItem = null; //ItemsListView.BeginRefresh(); //ListC.Clear(); //foreach (var X in Contacts) //{ // ListC.Add(X, (Core.Messaging.Contact)X.Clone()); //Se non clono non funziona //} //ItemsListView.EndRefresh(); //ItemsListView.ItemsSource = null; //Se Non lo tolgo e rimetto non funziona; //ItemsListView.ItemsSource = ListC.Values; //return; ItemsListView.BeginRefresh(); var toRemove = new List <CryptogramLibrary.Messaging.Contact>(); foreach (var I in List) { if (!contacts.Contains(I.Value)) { toRemove.Add(I.Key); } } toRemove.ForEach(x => { List.Remove(x); }); foreach (var x in contacts) { if (!List.Values.Contains(x)) { List.Add((CryptogramLibrary.Messaging.Contact)x.Clone(), x); } } ItemsListView.ItemsSource = null; // Se non lo annullo e lo reimposto non funziona su Android var values = List.Keys; var sorted = values.OrderBy(o => o.Name).ToList(); ItemsListView.ItemsSource = sorted; ItemsListView.EndRefresh(); }
private async void MenuItem_OnDelete(object sender, EventArgs e) { try { var problem = ((MenuItem)sender).BindingContext as Problem; var api = new ApiService().HseSupporterApi; if (problem == null) { return; } await api.DeleteProblem(problem.Id); ItemsListView.BeginRefresh(); } catch (Exception ex) { // Empty } }
public async void OnDelete(object sender, EventArgs e) { var mi = ((MenuItem)sender); ItemsListView.IsRefreshing = true; var answer = await DisplayAlert("Registro de Atendimento", "Você deseja remover este registro?", "Sim", "Não"); if (answer) { Task.Run(async() => { Item item = (Item)mi.CommandParameter; var resposta = await ws.QueryDelete("controldesk.atendimento_historico", item.id, "id"); }).Wait(); ItemsListView.BeginRefresh(); await DisplayAlert("Registro de atendimento", "O registro foi removido com sucesso", "OK"); ItemsListView.IsRefreshing = false; } }