Mobil uygulamalarımızda sürekli güncel veriler ile çalıştığımız için istediğimiz an güncellenmesi, yenilenmesi gerekir. Verilerimizi de düzenli bir şekilde gösterebildiğimiz en iyi kontrol ListView kontrolüdür. Bu yazımda ListView’imiz de olan objelerimizi nasıl güncelleyeceğimizden bahsedeceğiz.
İlk olarak ListView’de tabi objelerimizin olması gerekli. Sonrasında ise ListView’e bir kaç özellik vermemiz gerekiyor. Bu özelliklerden ilki liste aşağı doğru çekildiğinde yenilenmesine izin vermemiz gerekiyor. Sonrasında yenilenme işleminde neler olacağını yazmamız gereken fonksiyonu yazıyoruz. En son yapacağımız iş ise yenilenme yani güncelleme simgesini durdurmak olacak. Bu işlemlerden ilki olanı yapıyorum. Aşağı doğru çekildiğinde yenilenmesine izin veriyorum.
<StackLayout> <ListView x:Name="cisimListe" ItemsSource="{Binding .}" IsPullToRefreshEnabled="True"> <ListView.ItemTemplate> <DataTemplate> <ViewCell> <ViewCell.View> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="*"/> <ColumnDefinition Width="Auto"/> </Grid.ColumnDefinitions> <Label Text="{Binding CisimAdi}" HorizontalOptions="Center" Grid.Column="0" VerticalOptions="Center" HorizontalTextAlignment="Center" VerticalTextAlignment="Center" FontAttributes="Bold" FontSize="Medium" TextColor="Blue"/> <Button Grid.Column="1" Text="Sil" BackgroundColor="Red" TextColor="White" x:Name="buttonSil" Clicked="buttonSil_Clicked" CommandParameter="{Binding .}"/> </Grid> </ViewCell.View> </ViewCell> </DataTemplate> </ListView.ItemTemplate> </ListView> </StackLayout>
Ardından listemin yenilendiğinde olacaklarını yazmamı sağlayan fonksiyonu yazıyorum. Bunun için yapmanız gereken şey “+=” deyip. Tab tuşuna basmanız. Visual Studio kendiliğinde fonksiyonu oluşturacaktır. Sonrasında fonksiyonun içine geliyoruz. Burada ilk yapmamız gereken şey; yenilenme simgesini ortaya çıkarmak. İkinci adım olarak listeye verileri yeniden vermek. Benim hemen altında yaptığım şey ise kullanıcıya listenin yenilendiğini bildirmek ve son işlem olarak ise yenilenme simgesini durdurmak.
public AnaSayfaMaster () { InitializeComponent (); manager = new VeriTabaniYonetici(); cisimListe.Refreshing += CisimListe_Refreshing; Listele(); } private void CisimListe_Refreshing(object sender, EventArgs e) { cisimListe.IsRefreshing = true; Listele(); DisplayAlert("Başarılı", "Liste başarıyla yenilendi", "OK"); cisimListe.IsRefreshing = false; }
Sorularınız olursa mail veya yorum atarak ulaşabilirsiniz.
Bir yanıt yazın