Witam.
Mam przykładowa baze imie, nazwisko, rodzaj aktywnsci, data
Pobieram dane z bazy danych wedle kryterium daty i wyswietlam je DataGridzie.
Jest wszystko ok.
A teraz chce wszystko pogrupowac naprzykład według rodzaju aktywności, albo daty...
Jak to sprytnie zrobić, w necie jest mnostwo przykladow grupowania kolekcji, czy w takim razie to co otrzymuje wczytac do jakiejs
listy a pozniej to pogrupować? (jak to zrobić?).
Pzdr...
Baza -> DataGrid -> Grupowanie WPF
Re: Baza -> DataGrid -> Grupowanie WPF
Cześć 
Właśnie tak, jak napisałeś. Z tego co się orientuję, to kiedy bindujesz DataGrid.ItemsSource do jakiejś kolekcji, to ta kolekcja zostaje sama opakowana przez WPF w CollectionView. Kiedy jednak chcesz dodać do niej grupowanie musisz sam opakować ją ręcznie. Oto prosty przykład:

Właśnie tak, jak napisałeś. Z tego co się orientuję, to kiedy bindujesz DataGrid.ItemsSource do jakiejś kolekcji, to ta kolekcja zostaje sama opakowana przez WPF w CollectionView. Kiedy jednak chcesz dodać do niej grupowanie musisz sam opakować ją ręcznie. Oto prosty przykład:
Code: Zaznacz cały
public partial class MainWindow
{
public MainWindow()
{
InitializeComponent();
var people = new List<Person>
{
new Person {FirstName = "Adrian", LastName = "Szuszkiewicz", Tier = 1},
new Person {FirstName = "Jan", LastName = "Kowalski", Tier = 2},
new Person {FirstName = "Arkadiusz", LastName = "Włodarczyk", Tier = 1},
new Person {FirstName = "Grzegorz", LastName = "Nowak", Tier = 2}
};
var view = new ListCollectionView(people);
if (view.GroupDescriptions != null)
{
view.GroupDescriptions.Add(new PropertyGroupDescription("Tier"));
}
DataContext = view;
}
}
Code: Zaznacz cały
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<DataGrid ItemsSource="{Binding}">
<DataGrid.GroupStyle>
<GroupStyle>
<GroupStyle.HeaderTemplate>
<DataTemplate>
<TextBlock Text="Tier"></TextBlock>
</DataTemplate>
</GroupStyle.HeaderTemplate>
</GroupStyle>
</DataGrid.GroupStyle>
</DataGrid>
</Grid>
</Window>
Re: Baza -> DataGrid -> Grupowanie WPF
Dopiero tera przeczytałem odpowiedź, za która dziękuję, zrobiłem podobnie
.
