Silverlight 3 includes PagedCollectionView class, which provides UI-level grouping, sorting and paging functionality for any data source that implements the IEnumerable interface. This works as long as all the data that you need to sort, page are already fetched to the client which could be a slow process and can potentially consumed lots of memory on the client-side. A better solution is to provide Server-side sorting & paging.
One way to achieve this is to use .net RIA services’ DomainDataSource and DataPager controls which provides automatic server sorting and paging support. For more details check this out:
However, if you are not using .net RIA services, than you will need to implement ICollectionView to handle sorting and IPagedCollectionView to handle paging yourself –> Silverlight 3 Custom Sorting with Paging Support – Manish Dalal’s blog