W trybie WPF, CollectionViewSource pozwala na sortowanie (SortDescriptions) i grupowanie (GroupDescriptions). Nie mogę jednak znaleźć sposobu na zamówienie grup. Czy to możliwe?Jak mogę zamówić Grupy w WPF
Odpowiedz
<CollectionViewSource x:Key="cvs" Source="{Binding Source={StaticResource animals}, Path=AnimalList}">
<CollectionViewSource.GroupDescriptions>
<PropertyGroupDescription PropertyName="Category"/>
</CollectionViewSource.GroupDescriptions>
<CollectionViewSource.SortDescriptions>
<scm:SortDescription PropertyName="Category" />
<scm:SortDescription PropertyName="Name" />
</CollectionViewSource.SortDescriptions>
</CollectionViewSource>
Wystarczy dodać dwa SortDescriptions.Adding dwa opisy sortowania pozwala nam uporządkować grupy, a następnie elementy w obrębie grup.
Dalsze sprawdzanie
Sortowanie według grup jest możliwe, chociaż nie jest to takie proste. Wyjaśnię to na przykładzie.
class CollectionElement
{
public string Name {get; set; }
public string Group {get; set; }
}
Jeśli chcesz pierwiastków grup i sortowania grup alfabetycznie następnie posortować elementy w obrębie każdej grupy alfabetycznie wówczas należy wykonać następujące czynności:
- Dodaj PropertyGroupDescription przedstawieniu
Group
własność - Dodaj SortDescription przedstawieniu
Group
- Dodaj odniesienie do opisu sortowania
Name
Proces grupowania wydaje się działać tak samo skutecznie, jak następuje: Iteracja poprzez posortowane w ten sposób elementy. Po napotkaniu elementu z nieznanej grupy - utwórz grupę i dodaj ją do listy grup. Gdy napotykasz element z istniejącej grupy - dodaj go do istniejącej grupy. (Rzeczywiste wdrożenie może być inne). Więc jeśli twoje elementy są posortowane w kolejności, w jakiej chcesz, aby twoje grupy się pojawiły, skutecznie posortujesz grupy.
- 1. Jak mogę zamówić wynik grupy, w Linq?
- 2. Wpf ListView Czy można zamówić elementy grupy inaczej niż w nagłówkach grup?
- 3. Html.EnumDropdownListFor mogę zamówić alfabetycznie?
- 4. Jak mogę zamówić wpisy w UNION bez ORDER BY?
- 5. Jak mogę zamówić has_many przez asocjację w Ruby on Rails?
- 6. Jak mogę zamówić wyniki według atrybutu hstore w Railsach 4?
- 7. Jak mogę zamówić ramkę danych przez drugą kolumnę w R?
- 8. Jak zamówić losowo() w ORMLite
- 9. Jak "zamówić" zadania w TFS
- 10. Wykryj fokus utracony z grupy kontrolek WPF
- 11. Jak mogę zamówić przez rodzica, a następnie dziecko?
- 12. Jak mogę zamówić przez wiele pól podczas korzystania z Linq.Dynamic?
- 13. Jak zamówić rezultaty findBy() w doktrynie
- 14. Jak zamówić przez OneToMany/ManyToOne
- 15. jak można zamówić Miesiące w ggplot
- 16. Jak mogę odczytać obraz base64 w WPF?
- 17. Jak zamówić wiązania typu nokaut?
- 18. Jak zamówić Doxygen Custom Pages
- 19. Czy mogę ponownie zamówić kolejkę budowania w hudson ci?
- 20. Jak zamówić przez count() w JPA
- 21. Jak zamówić przez obliczoną wartość w DQL
- 22. Jak zamówić moduły w intellij-idea?
- 23. Jak zamówić zachowanie IDublinCore w typie Zręczności?
- 24. Czy mogę zastąpić grupy w regex Java?
- 25. Jak mogę liczyć dane według grupy w programie excel
- 26. jak ograniczyć i zamówić przez MS SQL?
- 27. MySQL - Jak zamówić według odmiany? Tabela INNODB
- 28. Jak zamówić Fill-kolory wewnątrz ggplot2 geom_bar
- 29. Jak zamówić przez gdzie w polach w Laravel
- 30. parametry Assert.assertEquals JUnit zamówić
pomimo faktu, że nie ma bea.stollnitz.com domeny (już): Podczas 'GroupDescriptions' może zawierać dowolną klasę wynikającą z' GroupDescription' - konieczności tylko przesłonić metodę 'GroupNameFromItem', która tłumaczy dowolny obiekt wejściowy na dowolny obiekt wyjściowy,' SortDescriptions' obsługuje tylko atrybut SortUescription (!!!!!) ', który atakuje tylko nazwy właściwości. Nie ma sposobu, aby powiązać te 2 światy, klasę i klasę abstrakcyjną. – springy76
to nie działa dla mnie ... Używam 'ICollectionView' w kodzie za (nie xaml) – JobaDiniz