In last post we started learning about Windows Azure Mobile Service in XAML based Windows Store Application. Read it here
In last post we learnt
- Configuring Window Azure Mobile Service in portal
- Consuming Windows Azure Mobile Service in Windows Store Application
- Insert a record from application in Windows Azure Mobile Service data table.
In this post we will take a look on fetching records from table. I recommend you to follow Part 1 of this series here . I will start from where I left in part 1.
Let us design application page. There are two buttons. On click of first button we will fetch all data. On click of second button filtered data will fetched. Let us design application page as following
<Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}" > <Grid.RowDefinitions> <RowDefinition Height="*" /> <RowDefinition Height="*" /> </Grid.RowDefinitions> <StackPanel Orientation="Vertical" Grid.Row="0"> <Button x:Name="btnFetch" Click="btnFetch_Click_1" Content="Get Data" Height="72" Width="233"/> <GridView x:Name="lstBloggers" > <GridView.ItemTemplate> <DataTemplate> <StackPanel Orientation="Horizontal"> <TextBlock Text="{Binding Name}" /> <TextBlock Text="{Binding Technology}" /> </StackPanel> </DataTemplate> </GridView.ItemTemplate> </GridView> </StackPanel> <StackPanel Orientation="Vertical" Grid.Row="1"> <StackPanel Orientation="Horizontal"> <TextBox x:Name="txtSearch" Height="59" Width="436" /> <Button x:Name="btnFilterfetch" Click="btnFilterfetch_Click_1" Content="Get Filtered Data" Height="72" Width="233"/> </StackPanel> <ListView x:Name="lstFilterBloggers" Margin="368,20,271,-599"> <ListView.ItemTemplate> <DataTemplate> <StackPanel Orientation="Horizontal"> <TextBlock Text="{Binding Name}" /> <TextBlock Text="{Binding Technology}" /> </StackPanel> </DataTemplate> </ListView.ItemTemplate> </ListView> </StackPanel> </Grid>
Yes this is not one of the best UI we can create but any way creating highly immersive UI is not purpose of this post. Right now UI will look like below image
Now to fetch all the records you need to follow following steps
Define Global variables
MobileServiceClient client; MobileServiceCollectionView<TechBloggers> items; MobileServiceCollectionView<TechBloggers> filteredItems; IMobileServiceTable<TechBloggers> bloggerstable;
You need to create mobile service table client in application. That can be created as following
public MainPage() { this.InitializeComponent(); MobileServiceClient client = new MobileServiceClient("https://youappurl", "appkey"); bloggerstable = client.GetTable<TechBloggers>(); }
Next you need to create entity class representing table from the Windows Azure Mobile Service. Let us create entity class as following. We are creating entity class TechBloggers.
public class TechBloggers { public int id { get; set; } [DataMember(Name="name")] public string Name { get; set; } [DataMember(Name = "technology")] public string Technology { get; set; } }
On click event of button you can fetch all data from Mobile Service Table as following
private void btnFetch_Click_1(object sender, RoutedEventArgs e) { items = bloggerstable.ToCollectionView(); lstBloggers.ItemsSource = items; }
You can fetch filtered data as following. We are filtering data on search term given in textbox.
private void btnFilterfetch_Click_1(object sender, RoutedEventArgs e) { filteredItems = bloggerstable.Where (blogger => blogger.Technology == txtSearch.Text) .ToCollectionView(); lstFilterBloggers.ItemsSource = filteredItems; }
When you run application you will find all data and filtered data as following
In this way we can fetch data from Windows Azure Mobile Service. In next post we will get into update and deletion of record. I hope this post useful. Thanks for reading.
Leave a Reply