ListCollectionView

WPF_logo

In einem Kundenprojekt gab es die Anforderung die Daten aus einem DataGrid in der vom Anwender sortierten Reihenfolge zu drucken. Üblicherweise bindet man in einer WPF-Anwendung (MVVM) das DataGrid an die Instanz einer ObservableCollection. Eine gebundene ObservableCollection hat aber leider den Nachteil, dass sie vom Sortieren durch den Anwender (z.B. durch Click im Spaltenheader) nichts mitbekommt. D.h. die ursprüngliche Reihenfolge der Items in der ObservableCollection bleibt erhalten. Abhilfe schafft hier die Klasse ListCollectionView. Man erzeugt sich einfach eine neue Instanz einer ListCollectionView in dem man beim Konstruktor einfach die Instanz der ObservableCollection (oder einer Liste wie im Beispielprojekt) übergibt und bindet diese neue Instanz an das DataGrid. Wie man leicht mit einer Foreach-Schleife feststellen kann, entspricht die Reihenfolge der Items dann der Reihenfolge im DataGrid.

Hier ein Beispielprojekt mit freundlicher Unterstützung von Thomas Sobizack.

Weitere Infos z.B. unter http://weblogs.asp.net/monikadyrda/wpf-listcollectionview-for-sorting-filtering-and-grouping

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s