Первая строка должна быть исправлена ​​в представлении Datagrid во время сортировки в WPF - PullRequest
0 голосов
/ 13 ноября 2018

У меня есть коллекция объектов, связанная с представлением DataGrid. Первая строка будет основной строкой.Всякий раз, когда пользователь сортирует сетку данных с использованием любого заголовка столбца, основной строки (т. Е. Строка 0 всегда должна оставаться сверху только на 0-й позиции), все остальные строки должны сортироваться.Как добавить описание сортировки для этого в обработчике событий Sorting?

например, у меня есть список из 10 объектов в 10 строках, строка 0 - главная или главная строка (которая будет содержать главный объект).Когда пользователь сортирует сетку данных, главный объект должен оставаться только в строке 0, но остальные 9 объектов могут быть отсортированы соответственно ..

Заранее спасибо ..

1 Ответ

0 голосов
/ 13 ноября 2018

Вы можете обработать событие Sorting для DataGrid, чтобы реализовать собственную сортировку:

private ListSortDirection _direction = ListSortDirection.Descending;
private void dg_Sorting(object sender, DataGridSortingEventArgs e)
{
    e.Handled = true;
    DataGrid dataGrid = (DataGrid)sender;
    ICollectionView view = CollectionViewSource.GetDefaultView(dataGrid.ItemsSource);
    _direction = _direction == ListSortDirection.Ascending ? ListSortDirection.Descending : ListSortDirection.Ascending;
    view.SortDescriptions.Clear();
    view.SortDescriptions.Add(new SortDescription("YourBoolProperty", ListSortDirection.Descending));
    view.SortDescriptions.Add(new SortDescription(e.Column.SortMemberPath, _direction));
    e.Column.SortDirection = _direction;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...