J'ai essayé de trouver un moyen de regrouper des éléments dans DataGrid dans le code-behind. Mon DataGrid est rempli de code-behind à partir d'une collection de liste d'objets personnalisés, ce que je voulais est de diviser ces objets dans les groupes. MerciWPF DataGrid - Groupe Éléments dans le code-behind C#
Répondre
Vous pouvez lier le DataGrid
à un CollectionView
créé à partir de votre liste d'objets. Le CollectionView
prend en charge le regroupement. Ce n'est pas vraiment une solution de code-behind, mais il est très facile à utiliser.
Vous devez utiliser CollectionView, mais le type de base CollectionView ne prend pas en charge le regroupement.
Pour obtenir le regroupement de travailler dans le code que vous devez utiliser l'un des types derrived de CollectionView qui implémente le regroupement tels que:
- ListCollectionView
- BindingListCollectionView
Vous utilisez quelque chose comme ça :
ListCollectionView lcv = new ListCollectionView(myCollection);
lcv.GroupDescriptions.Add(new PropertyGroupDescription("PropertyNameToGroupBy"));
MyDataGrid.ItemsSource = lcv;
Normalement quand Si vous définissez une collection directement dans ItemSource, WPF créera automatiquement une CollectionView pour vous sous les couvertures.
Bea Stollnitz parle beaucoup de CollectionViews on her blog si vous voulez plus d'informations.
- 1. ITemplate et DataGrid Colonne Codebehind
- 2. Datagrid modifiable dans WPF
- 3. Info-bulle WPF dans le datagrid MS
- 4. Flex: articles de groupe dans DataGrid
- 5. accéder aux éléments xslt de codebehind
- 6. WPF DataGrid ContextMenu (s)
- 7. Rebobinage sur le Datacontext de WPF Datagrid
- 8. WPF toolkit datagrid
- 9. WPF DataGrid zoom question
- 10. Performance WPF ToolKit DataGrid
- 11. Validation forcée; WPF, DataGrid, ObservableCollection
- 12. problème de liaison DataGrid WPF
- 13. Styling éléments imbriqués dans WPF
- 14. Comment actualiser un DataGrid WPF?
- 15. WPF DataGrid Bouton Colonne Désactiver
- 16. DataContext dans CodeBehind?
- 17. SkinID dans CodeBehind
- 18. WPF Toolkit Datagrid - Tabulation personnalisée
- 19. C#/WPF: DataGrid - Dernier rang/pied de page Ligne possible?
- 20. C#/WPF: DataGrid Toolkit - Transposer lignes et colonnes
- 21. Dojo DataGrid chargement des éléments sélectionnés
- 22. Quatre éléments dans un groupe de jeux d'enregistrements dans MySQL
- 23. Ajout de nouveaux éléments au ruban WPF via le code
- 24. Ajout d'éléments aux éléments de databoundControl dans WPF
- 25. éléments Cacher WPF dans Visual Designer Studio
- 26. WPF Toolkit - Datagrid - Liaison ComboboxColumn w/DynamicResource
- 27. WPF DataGrid Colonne ComboBox: Propagating Header Combobox dans la colonne
- 28. datagrid colorchange + C#
- 29. C# .net datagrid
- 30. WPF DataGrid - Définition de RowDetails par programme
Je sais comment cela peut être fait du point de vue xaml, dans mon cas, cela ne fonctionnera pas car je construis un contrôle personnalisé qui s'étend à la classe DataGrid pour styliser et organiser les données et les fonctionnalités requises. – Wizir
'DataGrid' utilise' ICollectionView' et 'CollectionView' implémente cette interface. Peut-être que vous pouvez vous inspirer des interactions entre 'DataGrid' et' ICollectionView'? Vous pouvez implémenter votre solution en implémentant votre propre ICollectionView sur votre collection d'objets. –