private void dg_Sorting(object sender, DataGridColumnEventArgs e)
{
//Use the Tag property to pass the bound column name for the sorting implementation
if (e.Column.Tag.ToString() == "Range")
{
//Use the Tag property to pass the bound column name for the sorting implementation
if (e.Column.Tag.ToString() == "Range")
{
//Implement sort on the column "Range" using LINQ
if (e.Column.SortDirection == null || e.Column.SortDirection == DataGridSortDirection.Descending)
{
dg.ItemsSource = new ObservableCollection<Mountain>(from item in _items
orderby item.Range ascending
select item);
e.Column.SortDirection = DataGridSortDirection.Ascending;
}
else
{
dg.ItemsSource = new ObservableCollection<Mountain>(from item in _items
orderby item.Range descending
select item);
e.Column.SortDirection = DataGridSortDirection.Descending;
}
}
// add code to handle sorting by other columns as required
// Remove sorting indicators from other columns
foreach (var dgColumn in dg.Columns)
{
if (dgColumn.Tag.ToString() != e.Column.Tag.ToString())
{
dgColumn.SortDirection = null;
}
}
}
}
Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.
ID: 30d57dec-db78-95f6-cb6e-2d9a57cda112
Version Independent ID: c4e5087a-0927-05ff-aec1-ff89aa378279
This is redundant, right?
Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.