IntroductionIn this article we will see how can we sort one or more DataGrid Colums using SortDescription method. Creating Silverlight ProjectFire up Visual Studio 2008 and create a Silverlight Application. Name it as SortDescriptionDataGridSL3. Add a DataGrid into your Application. Add a class for defining the sample properties of the Sample Data. public class Users
{
public string Name { get; set; }
public int Age { get; set; }
public string Gender { get; set; }
public string Country { get; set; }
}
Now create some sample data: List<Users> myList = new List<Users>
{
new Users{ Name="Hiro Nakamura", Gender="M", Age=24, Country="Japan"},
new Users{ Name="Mohinder Suresh",Gender="M", Age=26, Country="India"},
new Users{ Name="Claire Bennette", Gender="F",Age=19, Country="USA"},
new Users{ Name="Matt Parkman", Gender="M",Age=30, Country="USA"},
new Users{ Name="Nathan Patrelli", Gender="M",Age=30, Country="USA"},
new Users{ Name="Peter Patrelli", Gender="M",Age=26, Country="USA"},
new Users{ Name="Mica", Age=12, Gender="M",Country="USA"},
new Users{ Name="Linderman", Gender="M",Age=56, Country="USA"},
new Users{ Name="Ando", Age=24, Gender="M",Country="Japan"},
new Users{ Name="Maya", Age=24, Gender="M",Country="Mexico"},
new Users{ Name="Niki Sanders", Gender="F",Age=26, Country="USA"},
new Users{ Name="Angela Patrelli", Gender="F",Age=26, Country="USA"},
};
Now create an instance of PagedCollectionView and give parameter as the above list. PagedCollectionView collection = new PagedCollectionView(myList); Now add SortDescriptions as follows: collection.SortDescriptions.Add(new SortDescription("Name", ListSortDirection.Ascending));
collection.SortDescriptions.Add(new SortDescription("Country", ListSortDirection.Ascending));
Now assign the ItemSource of the DataGrid. MyDataGrid.ItemsSource = collection; That’s it we have successfully used SortDescription. Now run your application to see the Sort Display:
ConclusionEnjoy the code and please your comments and feed back. |