2015-07-30 2 views
1
<CollectionViewSource x:Key="messages" Source="{Binding src}"> 
    <CollectionViewSource.GroupDescriptions> 
     <PropertyGroupDescription PropertyName="Group"/> 
    </CollectionViewSource.GroupDescriptions> 
    <CollectionViewSource.SortDescriptions> 
     <SortDescription PropertyName="Group" /> 
    </CollectionViewSource.SortDescriptions> 
</CollectionViewSource> 

Приведенный выше код работает в алфавитном порядке. но я хочу сортировать группы по дате, которая находится в groupitems.Как сортировать группы в списке с помощью CollectionViewSource?

Например, у меня есть 3 группы.

Group A 
- Invoice("cd", 06-24-2015) 
- Invoice("car", 06-01-2015) 

Group B 
- Invoice("cd", 04-21-2015) 
- Invoice("car", 06-17-2015) 

Group C 
- Invoice("cd", 07-02-2015) 
- Invoice("car", 06-08-2015) 

В результате я надеюсь ... это как.

Group C 
- Invoice("cd", 07-02-2015) 
- Invoice("car", 06-08-2015) 

Group A 
- Invoice("cd", 06-24-2015) 
- Invoice("car", 06-01-2015) 

Group B 
- Invoice("cd", 04-21-2015) 
- Invoice("car", 06-17-2015) 

заказ Группа Группа C -> Группа А -> группы В. Поскольку недавние даты для каждой groupitems являются объектом сравнения для результата.

Последние данные для группы C 07-02-2015. Последние даты для группы А - 06-24-2015. Последние даты для группы B - 06-17-2015.

поэтому результат C -> A -> B.

Как достичь этой цели?

ответ

0

это должно работать:

<CollectionViewSource x:Key="messages" Source="{Binding src}"> 
    <CollectionViewSource.GroupDescriptions> 
     <PropertyGroupDescription PropertyName="Group"/> 
    </CollectionViewSource.GroupDescriptions> 
    <CollectionViewSource.SortDescriptions> 
     <SortDescription PropertyName="Date" Direction="Descending" /> 
    </CollectionViewSource.SortDescriptions> 
</CollectionViewSource> 
+0

Спасибо ваше для ответа. Ваше решение похоже только для групповой сортировки ... Я хочу группировать сортировку на основе свойства даты элемента в группах. Но я еще не нашел решения. –

Смежные вопросы