ListViewItem.Group Eigenschaft

Definition

Ruft die Gruppe ab, der das Element zugewiesen ist, oder legt diese fest.

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

Eigenschaftswert

ListViewGroup

Die ListViewGroup, der das Element zugewiesen ist.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie die Eigenschaft in einer Anwendung verwendet werden kann, die Group 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 Hashtabelle abgerufen, die dieser Spalte entspricht. Als Nächstes werden die Unterelementtextwerte für diese Spalte als Hashtabellenschlüssel verwendet, um die richtige Gruppe für jedes Element abzurufen. Das Element wird dann der Gruppe mithilfe der Group Eigenschaft zugewiesen.

Dieses Codebeispiel ist Teil eines größeren Beispiels, das für die ListView.Groups Eigenschaft bereitgestellt wird.

   // 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 Eigenschaft, um die Gruppe festzulegen, zu der ein Element gehört. Sie können die Gruppe auch im ListViewItem Konstruktor festlegen oder diese Eigenschaft verwenden, um die Gruppenmitgliedschaft zur Laufzeit zu ändern. Wenn Sie diese Eigenschaft null festlegen und gruppen in der ListView.Groups Auflistung vorhanden sind, wird das Element in der Standardgruppe angezeigt, das über die Kopfzeilenbezeichnung "DefaultGroupSystem.Windows.Forms" verfügt. Die Standardgruppe ist nicht in der ListView.Groups Auflistung enthalten und kann nicht geändert werden. Es ist in erster Linie nützlich beim Debuggen, um sicherzustellen, dass alle Elemente ordnungsgemäß zu Gruppen hinzugefügt wurden.

Hinweis

ListView Gruppen sind nur unter Windows XP und der Windows Server 2003-Familie (Windows XP Home Edition, Windows XP Professional, Windows Server 2003) verfügbar. Weitere Informationen finden Sie in der Übersicht für die ListViewGroup.

Gilt für

Siehe auch