2016-08-15 9 views
1

Wie kann ich doppelte Gruppierung in ListCollectionView (durch doppelte Gruppierung ich meine nicht nur Gruppierung von zwei Eigenschaften, sondern Gruppe, was bereits durch eine andere Eigenschaft gruppiert)?ListCollectionView Gruppierung bereits gruppierte Elemente

Beispiel:

class Person{ 
    public string Name; 
    public int Age; 
{ 

List<Person> list = new List<Person>{ 
    new Person{ Name = Alex, Age = 22 }, 
    new Person{ Name = Alex, Age = 23 }, 
    new Person{ Name = Sam, Age = 19 }, 
    new Person{ Name = Sam, Age = 33 } 
}; 
ListCollectionView listView = new ListCollectionView(list); 
listView.GroupDescriptions.add(new PropertyGroupDescription("Name")); 

that is all i have right now, is there some way? 

Alex:

22:

Alex 22;

23:

Alex 23;

Sam:

19:

Sam 19;

33:

Sam 33;

Vielen Dank im Voraus für Ihre Hilfe!

Antwort

1
var result= list.GroupBy(item => item.Name) 
       .Select(group => new 
       { 
        Name = group.Key, 
        Values = group.GroupBy(item => item.Age) 
            .Select(innerGroup => new 
            { 
             Age = group.Key, 
             Values = group.ToList() 
            }).ToList() 
       }).ToList(); 
+0

kann ich Ergebnis in ListCollectionView nach der Gruppierung verwenden? Weil ich es an die ListBox binden muss – kotki

Verwandte Themen