Welcome to MSDN Blogs Sign in | Join | Help

SortDescriptions in Silverlight Datagrid

In Silverlight 3, we can specify add sortdescriptions indatagrid so that these columns are sorted initially when the datagrid loads. This can done in XAML as well as in code. The following code snippets demonstrate this behavior.

Specifying SortDescriptions in XAML

<UserControl x:Class="SortDescriptions3.MainPage"

    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

    xmlns:data="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data"

    xmlns:scm="clr-namespace:System.ComponentModel;assembly=System.Windows"

    >

    <Grid x:Name="LayoutRoot" Background="White">

        <data:DataGrid x:Name="dg">

            <data:DataGrid.SortDescriptions>               

                <scm:SortDescription PropertyName="City" Direction="Descending" />

                <scm:SortDescription PropertyName="Department" Direction="Ascending" />

            </data:DataGrid.SortDescriptions>

        </data:DataGrid>

    </Grid>

</UserControl>

In the above code, we specified the column “City” to be sorted in Descending order, and the column “Department” to be sorted in Ascending order.

Specifying SortDescriptions through code

Defining SortDescriptions on PagedCollectionView

            List<Employee> list = PopulateData(100);

            PagedCollectionView cv = new PagedCollectionView(list);

            cv.GroupDescriptions.Add(new PropertyGroupDescription("City"));

            dg.ItemsSource = cv;

            cv.SortDescriptions.Add(new SortDescription("FirstName", ListSortDirection.Ascending));

            cv.SortDescriptions.Add(new SortDescription("Department", ListSortDirection.Descending));

 

We can combine sort Descriptions as well as  GroupDescriptions (to specify column grouping) as indicated in the above code.

Defining SortDescriptions on datagrid

            List<Employee> list = PopulateData(100);

            dg.ItemsSource = list;

            dg.SortDescriptions.Add(new SortDescription("City", ListSortDirection.Descending));

            dg.SortDescriptions.Add(new SortDescription("Department", ListSortDirection.Ascending));

 

DataGridSortDescriptions 

Hooking up the code pieces together and building the application and running it will show us sorting in datagrid. 

 

Published Sunday, March 22, 2009 11:21 AM by nagasr

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

# infoblog &raquo; SortDescriptions in Silverlight Datagrid

Tuesday, March 24, 2009 8:07 AM by Roni

# SortDescriptions in Silverlight ListBox?

Does Silverlight 3 has also SortDescriptions for ListBox or only for DataGrid?

Friday, March 27, 2009 5:15 AM by Satish

# re: SortDescriptions in Silverlight Datagrid

ListBox does not have SortDesciptions.

However, if you want to see sorted data in a listbox, then you set the items source to a collection that has sortdescriptions like pagedcollectionview.

following code should give some idea

           List<City> cities = new List<City>();

           cities.Add(new City("miami"));

           cities.Add(new City("los angeles"));

           cities.Add(new City("Denver"));

           cities.Add(new City("Austin"));

           PagedCollectionView cv = new PagedCollectionView(cities);

           cv.SortDescriptions.Add(new SortDescription("CityName",ListSortDirection.Ascending));

           mylistbox.ItemsSource = cv;

           mylistbox.DisplayMemberPath = "CityName";

City Class:

   public class City

   {

       public string CityName { get; set; }

       public City(string city)

       {

            CityName = city;

       }

   }

Thursday, April 09, 2009 12:49 AM by Method ~ of ~ failed by Tim Heuer

# Grouping data in Silverlight DataGrid

Grouping data in Silverlight DataGrid

Thursday, April 09, 2009 1:05 AM by Microsoft Weblogs

# Grouping data in Silverlight DataGrid

I got this question on how do you add grouping to the DataGrid in Silverlight without using the RIA Services

Wednesday, May 13, 2009 10:36 PM by Ravi

# re: SortDescriptions in Silverlight Datagrid

I'm not seeing SortDescription Property on DataGrid though I've SL3 installed.

Friday, August 14, 2009 10:58 AM by swo

# re: SortDescriptions in Silverlight Datagrid

I'm not see a MyDataGrid.SortDescription in SL3 to

Leave a Comment

(required) 
required 
(required) 

  
Enter Code Here: Required
 
Page view tracker