Сортировать ListView по дате - PullRequest
6 голосов
/ 03 июня 2009

У меня есть WPF ListView с колонкой, в которой есть даты. Я хотел бы способ сортировки даты (по значению даты, а не по строковому значению). Есть ли способ сделать это? Прямо сейчас я использую list.Items.SortDescription для сортировки, используя другой столбец, но я хотел бы изменить это для сортировки по столбцу даты.

Спасибо.

Ответы [ 3 ]

7 голосов
/ 04 июня 2009

Вы пробовали это?

ICollectionView view = CollectionViewSource.GetDefaultView(listView.ItemsSource);
view.SortDescriptions.Add(new SortDescription("Date", ListSortDirection.Descending));

РЕДАКТИРОВАТЬ: Вы также можете посмотреть на это свойство

3 голосов
/ 04 июня 2009

Если вы обнаружите, что способ сортировки WPF по умолчанию не соответствует вашим ожиданиям, вы можете предоставить собственный сортировщик для представления по умолчанию:

ListCollectionView view = 
  (ListCollectionView)CollectionViewSource.GetDefaultView(listView.ItemsSource);
view.CustomSort = new DateValueSorter();
listView.Items.Refresh();

Где DateValueSorter - это класс, который реализует интерфейс IComparer и сортирует его в соответствии со значением даты и создает искомый порядок.

1 голос
/ 04 июня 2009

Используйте ObservableList и пользовательский тип объекта - и выполните сортировку самостоятельно. Подключите ListView к ObservableList, используя ItemsSource.

... или вы можете попытаться сделать то, что описывает этот блог; Сортировка ListViews

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...