listview grouping

main
syneffort 2 years ago
parent 33a62908b5
commit 880ce862be
  1. 19
      XamarinStudy/XamarinStudy/XamarinStudy/Views/SampleListViewPage.xaml
  2. 26
      XamarinStudy/XamarinStudy/XamarinStudy/Views/SampleListViewPage.xaml.cs

@ -23,6 +23,25 @@
</DataTemplate>
</ListView.FooterTemplate>
</ListView>
<ListView x:Name="groupedListView" ItemSelected="mainListView_ItemSelected" ItemsSource="{Binding .}" Footer="{Binding .}"
IsPullToRefreshEnabled="True" Refreshing="mainListView_Refreshing"
IsGroupingEnabled="True" GroupDisplayBinding="{Binding Key}">
<ListView.Header>
<ContentView BackgroundColor="Salmon">
<Label Text="음식 리스트" HorizontalTextAlignment="Center" FontSize="Large" TextColor="White"/>
</ContentView>
</ListView.Header>
<ListView.ItemTemplate>
<DataTemplate>
<TextCell Text="{Binding Name}" Detail="{Binding Price}"/>
</DataTemplate>
</ListView.ItemTemplate>
<ListView.FooterTemplate>
<DataTemplate>
<Label Text="{Binding Count, StringFormat='{0}ea'}" HorizontalTextAlignment="Center" FontSize="Medium" TextColor="Navy"/>
</DataTemplate>
</ListView.FooterTemplate>
</ListView>
</StackLayout>
</ContentPage.Content>
</ContentPage>

@ -25,23 +25,25 @@ namespace XamarinStudy.Views
{
//mainListView.ItemsSource = foods;
//mainListView.Footer = foods;
mainListView.BindingContext = GetFoodList();
foods = GetFoodList();
mainListView.BindingContext = foods;
groupedListView.BindingContext = foods.OrderBy(f => f.Name).GroupBy(f => f.Flavor).ToList();
}
private List<Food> GetFoodList()
{
foods = new List<Food>();
foods.Add(new Food() { Name = "냉면", Price = 10000, Flavor = "시원함" });
foods.Add(new Food() { Name = "모밀", Price = 80000, Flavor = "시원함" });
foods.Add(new Food() { Name = "국수", Price = 5000, Flavor = "얼큰함" });
foods.Add(new Food() { Name = "쫄면", Price = 5000, Flavor = "매콤함" });
foods.Add(new Food() { Name = "떡볶이", Price = 3000, Flavor = "매콤함" });
foods.Add(new Food() { Name = "라면", Price = 3000, Flavor = "매콤함" });
foods.Add(new Food() { Name = "짜장면", Price = 3000, Flavor = "달콤함" });
foods.Add(new Food() { Name = "떡라면", Price = 5000, Flavor = "매콤함" });
foods.Add(new Food() { Name = "짜장떡볶이", Price = 3000, Flavor = "달콤함" });
List<Food> list = new List<Food>();
list.Add(new Food() { Name = "냉면", Price = 10000, Flavor = "시원함" });
list.Add(new Food() { Name = "모밀", Price = 80000, Flavor = "시원함" });
list.Add(new Food() { Name = "국수", Price = 5000, Flavor = "얼큰함" });
list.Add(new Food() { Name = "쫄면", Price = 5000, Flavor = "매콤함" });
list.Add(new Food() { Name = "떡볶이", Price = 3000, Flavor = "매콤함" });
list.Add(new Food() { Name = "라면", Price = 3000, Flavor = "매콤함" });
list.Add(new Food() { Name = "짜장면", Price = 3000, Flavor = "달콤함" });
list.Add(new Food() { Name = "떡라면", Price = 5000, Flavor = "매콤함" });
list.Add(new Food() { Name = "짜장떡볶이", Price = 3000, Flavor = "달콤함" });
return foods;
return list;
}
private void mainListView_ItemSelected(object sender, SelectedItemChangedEventArgs e)

Loading…
Cancel
Save