ListViewItem.Group Propriété

Définition

Obtient ou définit le groupe auquel l'élément est assigné.

public:
 property System::Windows::Forms::ListViewGroup ^ Group { System::Windows::Forms::ListViewGroup ^ get(); void set(System::Windows::Forms::ListViewGroup ^ value); };
public System.Windows.Forms.ListViewGroup Group { get; set; }
member this.Group : System.Windows.Forms.ListViewGroup with get, set
Public Property Group As ListViewGroup

Valeur de propriété

ListViewGroup

ListViewGroup auquel l'élément est assigné.

Exemples

L’exemple de code suivant montre comment la Group propriété peut être utilisée dans une application qui organise les ListView éléments par valeur sous-élément dans la vue détails. Cette forme de regroupement est similaire au regroupement utilisé dans l’Explorateur Windows. Dans l’exemple, les groupes sont créés dynamiquement. Pour chaque colonne sous-élément, un groupe est créé pour chaque valeur sous-élément unique. Pour la colonne d’élément parent, un groupe est créé pour chaque lettre initiale unique. Les groupes créés pour chaque colonne sont stockés dans une table de hachage avec le texte sous-élément ou la lettre initiale. Lorsqu’un en-tête de colonne est cliqué, la table de hachage correspondant à cette colonne est récupérée. Ensuite, les valeurs de texte sous-élément de cette colonne sont utilisées comme clés de table de hachage pour récupérer le groupe approprié pour chaque élément. L’élément est ensuite affecté au groupe à l’aide de la Group propriété.

Cet exemple de code fait partie d’un exemple plus grand fourni pour la ListView.Groups propriété.

   // Sets myListView to the groups created for the specified column.
private:
   void SetGroups(int column)
   {
      // Remove the current groups.
      myListView->Groups->Clear();

      // Retrieve the hash table corresponding to the column.
      Hashtable^ groups = dynamic_cast<Hashtable^>(groupTables[column]);

      // Copy the groups for the column to an array.
      array<ListViewGroup^>^ groupsArray = gcnew array<ListViewGroup^>(groups->Count);
      groups->Values->CopyTo(groupsArray, 0);

      // Sort the groups and add them to myListView.
      Array::Sort(groupsArray, gcnew ListViewGroupSorter(myListView->Sorting));
      myListView->Groups->AddRange(groupsArray);

      // Iterate through the items in myListView, assigning each 
      // one to the appropriate group.
      IEnumerator^ myEnum = myListView->Items->GetEnumerator();
      while (myEnum->MoveNext())
      {
         ListViewItem^ item = safe_cast<ListViewItem^>(myEnum->Current);
         // Retrieve the subitem text corresponding to the column.
         String^ subItemText = item->SubItems[column]->Text;

         // For the Title column, use only the first letter.
         if (column == 0) 
         {
            subItemText = subItemText->Substring(0, 1);
         }

         // Assign the item to the matching group.
         item->Group = dynamic_cast<ListViewGroup^>(groups[subItemText]);
      }
   }
// Sets myListView to the groups created for the specified column.
private void SetGroups(int column)
{
    // Remove the current groups.
    myListView.Groups.Clear();

    // Retrieve the hash table corresponding to the column.
    Hashtable groups = (Hashtable)groupTables[column];

    // Copy the groups for the column to an array.
    ListViewGroup[] groupsArray = new ListViewGroup[groups.Count];
    groups.Values.CopyTo(groupsArray, 0);

    // Sort the groups and add them to myListView.
    Array.Sort(groupsArray, new ListViewGroupSorter(myListView.Sorting));
    myListView.Groups.AddRange(groupsArray);

    // Iterate through the items in myListView, assigning each 
    // one to the appropriate group.
    foreach (ListViewItem item in myListView.Items)
    {
        // Retrieve the subitem text corresponding to the column.
        string subItemText = item.SubItems[column].Text;

        // For the Title column, use only the first letter.
        if (column == 0) 
        {
            subItemText = subItemText.Substring(0, 1);
        }

        // Assign the item to the matching group.
        item.Group = (ListViewGroup)groups[subItemText];
    }
}
' Sets myListView to the groups created for the specified column.
Private Sub SetGroups(column As Integer)
    ' Remove the current groups.
    myListView.Groups.Clear()
    
    ' Retrieve the hash table corresponding to the column.
    Dim groups As Hashtable = CType(groupTables(column), Hashtable)
    
    ' Copy the groups for the column to an array.
    Dim groupsArray(groups.Count - 1) As ListViewGroup
    groups.Values.CopyTo(groupsArray, 0)
    
    ' Sort the groups and add them to myListView.
    Array.Sort(groupsArray, New ListViewGroupSorter(myListView.Sorting))
    myListView.Groups.AddRange(groupsArray)
    
    ' Iterate through the items in myListView, assigning each 
    ' one to the appropriate group.
    Dim item As ListViewItem
    For Each item In myListView.Items
        ' Retrieve the subitem text corresponding to the column.
        Dim subItemText As String = item.SubItems(column).Text
        
        ' For the Title column, use only the first letter.
        If column = 0 Then
            subItemText = subItemText.Substring(0, 1)
        End If 

        ' Assign the item to the matching group.
        item.Group = CType(groups(subItemText), ListViewGroup)
    Next item
End Sub

Remarques

Utilisez cette propriété pour définir le groupe auquel appartient un élément. Vous pouvez également définir le groupe dans le ListViewItem constructeur, ou vous pouvez utiliser cette propriété pour modifier l’appartenance au groupe au moment de l’exécution. Si vous définissez cette propriété null sur et qu’il existe des groupes dans la ListView.Groups collection, l’élément apparaît dans le groupe par défaut, qui a l’étiquette d’en-tête « DefaultGroupSystem.Windows.Forms ». Le groupe par défaut n’est pas contenu dans la ListView.Groups collection et ne peut pas être modifié. Il est principalement utile de déboguer pour s’assurer que tous les éléments ont été correctement ajoutés aux groupes.

Notes

ListView les groupes sont disponibles uniquement sur Windows XP et la famille Windows Server 2003 (Windows XP Édition Famille, Windows XP Professionnel, Windows Server 2003). Pour plus d'informations, consultez la rubrique de vue d'ensemble ListViewGroup.

S’applique à

Voir aussi