2016-08-15 10 views
1

ListCollectionViewで二重グループ化を行うにはどうすればいいですか?(二重グループ化とは、2つのプロパティでグループ化するのではなく、ListCollectionViewグループ化されたアイテムを既にグループ化しています

例:

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? 

アレックス:

22:

アレックス22。

23:

アレックス・23。

サム:

19:

サム19。

33:

サム・33。

ありがとうございました!

答えて

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

グループ化した後にListCollectionViewで結果を使用できますか? necBox私はそれをListBoxにバインドする必要があります – kotki

関連する問題