//To sort Grid by Id Column private void MsgsGrid_Sorting(object sender, Microsoft.Toolkit.Uwp.UI.Controls.DataGridColumnEventArgs e) { if (e.Column.Tag.ToString() == "Id") { if (e.Column.SortDirection == null || e.Column.SortDirection == DataGridSortDirection.Descending) { MsgsGrid.ItemsSource = new ObservableCollection <Message>(from item in Messages orderby item.MessageId ascending select item); e.Column.SortDirection = DataGridSortDirection.Ascending; } else { MsgsGrid.ItemsSource = new ObservableCollection <Message>(from item in Messages orderby item.MessageId descending select item); e.Column.SortDirection = DataGridSortDirection.Descending; } } //Eliminar los indicadores sort de las columnas que son el Id foreach (var col in MsgsGrid.Columns) { if (col.Tag.ToString() != e.Column.Tag.ToString()) { col.SortDirection = null; } } }
private void dg_Sorting(object sender, Microsoft.Toolkit.Uwp.UI.Controls.DataGridColumnEventArgs e) { if (e.Column.Header?.ToString() == "Key") { currentSort = "Key"; dg.ItemsSource = data.OrderBy(t => t.Key); } else if (e.Column.Header?.ToString() == "Type") { currentSort = "Type"; dg.ItemsSource = data.OrderBy(t => t.TypeName); } }
private void libraryDataGrid_Sorting(object sender, Microsoft.Toolkit.Uwp.UI.Controls.DataGridColumnEventArgs e) { string tag = e.Column.Tag.ToString(); bool descendingOrNull = e.Column.SortDirection == null || e.Column.SortDirection == DataGridSortDirection.Descending; //TODO: implement remaining columns switch (tag) { case "Plays": if (descendingOrNull) { ViewModel.VisibleItems = new ObservableCollection <LibraryItem>(ViewModel.VisibleItems.OrderBy(x => x.PlayCount)); } else { ViewModel.VisibleItems = new ObservableCollection <LibraryItem>(ViewModel.VisibleItems.OrderByDescending(x => x.PlayCount)); } break; case "CreatedTimeLocal": if (descendingOrNull) { ViewModel.VisibleItems = new ObservableCollection <LibraryItem>(ViewModel.VisibleItems.OrderBy(x => x.CreatedTimeUtc)); } else { ViewModel.VisibleItems = new ObservableCollection <LibraryItem>(ViewModel.VisibleItems.OrderByDescending(x => x.CreatedTimeUtc)); } break; } e.Column.SortDirection = descendingOrNull ? DataGridSortDirection.Ascending : DataGridSortDirection.Descending; // Remove sorting indicators from other columns foreach (DataGridColumn dgColumn in libraryDataGrid.Columns) { if (dgColumn.Tag.ToString() != e.Column.Tag.ToString()) { dgColumn.SortDirection = null; } } }
private void userList_Sorting(object sender, Microsoft.Toolkit.Uwp.UI.Controls.DataGridColumnEventArgs e) { DataGridColumn curentSortColumn = e.Column; if (curentSortColumn == previousSortColumn) { if (curentSortColumn.SortDirection == DataGridSortDirection.Ascending) { curentSortColumn.SortDirection = DataGridSortDirection.Descending; } else { curentSortColumn.SortDirection = null; previousSortColumn = null; } } else { curentSortColumn.SortDirection = DataGridSortDirection.Ascending; if (previousSortColumn != null) { previousSortColumn.SortDirection = null; } previousSortColumn = curentSortColumn; } if (curentSortColumn.SortDirection == null) { userList.ItemsSource = ViewModel.users; } else { userList.ItemsSource = sortUserList(curentSortColumn); } }
private void DataGrid_Sorting(object sender, Microsoft.Toolkit.Uwp.UI.Controls.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; } } }
// Ovo da ide u osnovnu klasu za sve liste private void DataGrid_Sorting(object sender, Microsoft.Toolkit.Uwp.UI.Controls.DataGridColumnEventArgs e) { foreach (DataGridColumn dataGridColumn in dataGrid.Columns) { if (dataGridColumn.Tag != null && e.Column.Tag != null && dataGridColumn.Tag.ToString() != e.Column.Tag.ToString()) { dataGridColumn.SortDirection = null; } } if (e.Column.Tag != null) { if (e.Column.SortDirection == null || e.Column.SortDirection == DataGridSortDirection.Descending) { dataGrid.ItemsSource = vm.SortData(e.Column.Tag.ToString(), true); e.Column.SortDirection = DataGridSortDirection.Ascending; } else { dataGrid.ItemsSource = vm.SortData(e.Column.Tag.ToString(), false); e.Column.SortDirection = DataGridSortDirection.Descending; } } }
private void ResultsGrid_Sorting(object sender, Microsoft.Toolkit.Uwp.UI.Controls.DataGridColumnEventArgs e) { }