Utilisez la propriété ListView..::.Groups pour obtenir le ListViewGroupCollection associé à un contrôle ListView. Cette collection contient les objets ListViewGroup qui représentent les groupes affichés dans le contrôle lorsque la propriété ListView..::.View a une valeur autre que View..::.List. Tous les éléments qui ne sont pas assignés à un groupe apparaîtront dans le groupe par défaut qui a l'étiquette d'en-tête "DefaultGroup {0}". Le groupe par défaut n'est pas contenu dans la collection ListView..::.Groups et ne peut pas être modifié. Cela sert essentiellement pour le débogage et permet de garantir que tous les éléments ont été ajoutés correctement aux groupes. S'il n'y a pas de groupes dans la collection ListView..::.Groups, la fonctionnalité de regroupement est désactivée.
Utilisez la méthode Add pour ajouter un seul groupe à la collection. Utilisez la méthode Insert pour ajouter un groupe à un index particulier dans la collection. Pour supprimer un groupe, utilisez la méthode Remove. Utilisez la méthode RemoveAt pour supprimer le groupe existant à un index particulier.
Vous ne pouvez pas ajouter plusieurs fois un objet ListViewGroup à la collection. Pour repositionner un groupe dans la collection, celui-ci doit être d'abord supprimé de la collection, puis inséré à l'emplacement désiré. Utilisez la méthode Contains pour déterminer si un groupe particulier est déjà dans la collection. Pour récupérer l'index d'un groupe dans la collection, utilisez la méthode IndexOf. Vous pouvez obtenir ou définir le groupe existant à un index particulier à l'aide de l'indexeur Item.
Utilisez la méthode AddRange pour ajouter de multiples groupes à la collection. Vous pouvez ajouter plusieurs groupes sous la forme d'un tableau de groupes ou en tant que ListViewGroupCollection que vous récupérez par le biais de la propriété ListView..::.Groups d'un autre contrôle ListView. Utilisez la méthode Clear pour supprimer tous les groupes de la collection.
Remarque : |
|---|
Les méthodes Remove, RemoveAt et Clear suppriment des groupes de la collection, mais ne suppriment pas d'éléments du contrôle ListView. S'il n'y a pas de groupes dans la collection ListView..::.Groups, la fonctionnalité de regroupement est désactivée et tous les éléments dans le contrôle sont affichés normalement. |
Les méthodes AddRange et Clear offrent plusieurs méthodes permettant de grouper les éléments dans un contrôle ListView. Pour ce faire, créez plusieurs tableaux de groupe. Pour modifier le regroupement, utilisez d'abord la méthode Clear pour supprimer tous les groupes de la collection, puis utilisez la méthode AddRange pour ajouter le tableau suivant de groupes à afficher.
Utilisez la méthode CopyTo pour copier les groupes dans une collection vers un tableau compatible qui démarre à un index spécifié. Cette opération est utile, par exemple, lorsque vous souhaitez trier les groupes dans la collection à l'aide de la méthode Array..::.Sort. Pour ce faire, copiez les groupes dans un tableau compatible, puis triez le tableau. Ensuite, utilisez la méthode Clear pour supprimer tous les groupes de la collection, puis utilisez la méthode AddRange pour rajouter le tableau trié à la collection.
Utilisez la propriété Count pour déterminer le nombre de groupes présents dans la collection. Pour parcourir la collection, utilisez le IEnumerator retourné par la méthode GetEnumerator.
Remarque : |
|---|
La fonctionnalité de groupement est uniquement disponible sur Windows XP et la famille Windows Server 2003 lorsque votre application appelle la méthode Application..::.EnableVisualStyles. Sur les systèmes d'exploitation antérieurs, tout code concernant les groupes sera ignoré et les groupes n'apparaîtront pas. Par conséquent, tout code qui dépend de la fonctionnalité de regroupement peut ne pas fonctionner correctement. Vous pouvez inclure un test qui détermine si la fonctionnalité de regroupement est disponible, et fournir d'autres fonctionnalités si elle ne l'est pas. Par exemple, vous pouvez fournir un tri de remplacement lors d'une exécution sur les systèmes d'exploitation qui ne prennent pas en charge le tri par groupe. La fonctionnalité d'insertion de marque est fournie par la même bibliothèque qui fournit la fonctionnalité des thèmes du système d'exploitation. Pour vérifier la disponibilité de cette bibliothèque, appelez la surcharge de méthode FeatureSupport..::.IsPresent(Object) et passez la valeur OSFeature..::.Themes. |