private void RankLowItem_Click(object sender, RoutedEventArgs e) { if (dataGrid != null) { dataGrid.ItemsSource = viewModel.FilterData(DataGridDataSource.FilterOptions.Rank_Low); } }
private void DataGrid_Sorting(object sender, DataGridColumnEventArgs e) { // Clear previous sorted column if we start sorting a different column string previousSortedColumn = viewModel.CachedSortedColumn; if (previousSortedColumn != string.Empty) { foreach (DataGridColumn dataGridColumn in dataGrid.Columns) { if (dataGridColumn.Tag != null && dataGridColumn.Tag.ToString() == previousSortedColumn && (e.Column.Tag == null || previousSortedColumn != e.Column.Tag.ToString())) { dataGridColumn.SortDirection = null; } } } // Toggle clicked column's sorting method if (e.Column.Tag != null) { if (e.Column.SortDirection == null) { dataGrid.ItemsSource = viewModel.SortData(e.Column.Tag.ToString(), true); e.Column.SortDirection = DataGridSortDirection.Ascending; } else if (e.Column.SortDirection == DataGridSortDirection.Ascending) { dataGrid.ItemsSource = viewModel.SortData(e.Column.Tag.ToString(), false); e.Column.SortDirection = DataGridSortDirection.Descending; } else { dataGrid.ItemsSource = viewModel.FilterData(DataGridDataSource.FilterOptions.All); e.Column.SortDirection = null; } } }