2015-05-19 74 views
0

所以,我有對象的ObservableCollection(每個對象都有一個名稱,編號,type屬性):在WPF Datagrid中分組?

Name Number Type 
a 1  1 
a 1  2 
b 2  1 
c 4  3 
c 4  5 

我想什麼在DataGrid中顯示是這樣的,而不是(按類型分組) :

Name Number Types 
a 1  1, 2 
b 2  1 
c 4  3, 5 

有關如何使用模型視圖來實現這一點有點困惑。一種方法是我可以創建一個新的對象類型,其類型爲List<int>,然後迭代原始集合並創建一個新的集合,而不是綁定到DataGrid。只是想知道是否有更優惠/更簡單的方法。

回答

0

您可以使用包裝當前數據源的CollectionViewSource。這將允許您添加分組和過濾器。

<CollectionViewSource x:Key="cvsTasks" Source="{StaticResource tasks}"> 
    <CollectionViewSource.GroupDescriptions> 
     <PropertyGroupDescription PropertyName="ProjectName"/> 
     <PropertyGroupDescription PropertyName="Complete"/> 
    </CollectionViewSource.GroupDescriptions> 
</CollectionViewSource> 

請參閱此鏈接完整的例子:https://msdn.microsoft.com/en-us/library/ff407126%28v=vs.110%29.aspx