Freigeben über


ListViewGroupCollection.AddRange Methode

Definition

Fügt der Auflistung mehrere Gruppen hinzu.

Überlädt

AddRange(ListViewGroup[])

Fügt der Auflistung ein Array von Gruppen hinzu.

AddRange(ListViewGroupCollection)

Fügt der Auflistung die Gruppen in einer vorhandenen ListViewGroupCollection hinzu.

AddRange(ListViewGroup[])

Fügt der Auflistung ein Array von Gruppen hinzu.

public:
 void AddRange(cli::array <System::Windows::Forms::ListViewGroup ^> ^ groups);
public void AddRange (System.Windows.Forms.ListViewGroup[] groups);
member this.AddRange : System.Windows.Forms.ListViewGroup[] -> unit
Public Sub AddRange (groups As ListViewGroup())

Parameter

groups
ListViewGroup[]

Ein Array vom Typ ListViewGroup, das die Gruppen angibt, die der Auflistung hinzugefügt werden sollen.

Ausnahmen

groups enthält mindestens eine Gruppe mit mindestens einem ListViewItem, das zu einem ListView-Steuerelement gehört, das nicht das Steuerelement ist, das diese ListViewGroupCollection besitzt.

Die ListView Auflistung, der diese Auflistung zugewiesen ist, befindet sich im virtuellen Modus.

Beispiele

Im folgenden Beispiel wird veranschaulicht, wie die Methode in einer Anwendung verwendet werden kann, die AddRange Elemente nach Unterelementwert in der Detailansicht organisiert ListView . Diese Form der Gruppierung ähnelt der Gruppierung, die im Windows Explorer verwendet wird. Im Beispiel werden die Gruppen dynamisch erstellt. Für jede Unterelementspalte wird eine Gruppe für jeden eindeutigen Unterelementwert erstellt. Für die übergeordnete Elementspalte wird eine Gruppe für jeden eindeutigen Anfangsbuchstaben erstellt. Die für jede Spalte erstellten Gruppen werden zusammen mit dem Unterelementtext oder dem Anfangsbuchstaben in einer Hashtabelle gespeichert. Wenn auf eine Spaltenüberschrift geklickt wird, wird die ListViewGroupCollection Option gelöscht. Die Hashtabelle, die der geklickten Spalte entspricht, wird dann abgerufen, und jedes Element wird der entsprechenden Gruppe zugewiesen. Schließlich wird dem Hashtabelle ein sortiertes Array der Gruppen hinzugefügt ListViewGroupCollection.

Das vollständige Beispiel finden Sie im ListViewGroupCollection Übersichtsreferenzthema.

   // 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

Hinweise

Verwenden Sie diese Version der AddRange Methode, um der Gruppensammlung ein Array von Gruppen hinzuzufügen. Diese Methode ist nützlich, wenn Sie mehrere ListViewGroup Objekte erstellen und sie der Auflistung mit einem einzigen Methodenaufruf hinzufügen möchten. Verwenden Sie die Add Methode, um der Auflistung einzelne Gruppen hinzuzufügen.

Diese Methode ist auch hilfreich, wenn Sie mehrere Möglichkeiten zum Gruppieren der Elemente in einem ListView Steuerelement bereitstellen möchten. Erstellen Sie dazu mehrere Gruppenarrays. Um die Gruppierung zu ändern, verwenden Sie zuerst die Clear Methode, um alle Gruppen aus der Auflistung zu entfernen, und verwenden Sie dann die AddRange Methode, um ein anderes Array von Gruppen hinzuzufügen.

Add Im Gegensatz zur Methode verfügt die AddRange Methode nicht über einen Rückgabewert, der verwendet werden kann, um zu bestimmen, ob eine Gruppe, die hinzugefügt wird, bereits in der Auflistung enthalten ist. Wenn Sie diese Informationen benötigen, verwenden Sie die Contains Methode, bevor Sie die AddRange Methode verwenden.

Siehe auch

Gilt für

AddRange(ListViewGroupCollection)

Fügt der Auflistung die Gruppen in einer vorhandenen ListViewGroupCollection hinzu.

public:
 void AddRange(System::Windows::Forms::ListViewGroupCollection ^ groups);
public void AddRange (System.Windows.Forms.ListViewGroupCollection groups);
member this.AddRange : System.Windows.Forms.ListViewGroupCollection -> unit
Public Sub AddRange (groups As ListViewGroupCollection)

Parameter

groups
ListViewGroupCollection

Eine ListViewGroupCollection, die die Gruppen enthält, die der Auflistung hinzugefügt werden sollen.

Ausnahmen

groups enthält mindestens eine Gruppe mit mindestens einem ListViewItem, das zu einem ListView-Steuerelement gehört, das nicht das Steuerelement ist, das diese ListViewGroupCollection besitzt.

Die ListView Auflistung, der diese Auflistung zugewiesen ist, befindet sich im virtuellen Modus.

Hinweise

Verwenden Sie diese Version der AddRange Methode, um die Elemente eines ListViewGroupCollection steuerelements hinzuzufügen, das Sie über die ListView.Groups Eigenschaft eines anderen ListView Steuerelements abrufen.

Add Im Gegensatz zur Methode verfügt die AddRange Methode nicht über einen Rückgabewert, der verwendet werden kann, um zu bestimmen, ob eine Gruppe, die hinzugefügt wird, bereits in der Auflistung enthalten ist. Wenn Sie diese Informationen benötigen, verwenden Sie die Contains Methode, bevor Sie die AddRange Methode verwenden.

Gilt für