ListViewGroupCollection.AddRange ListViewGroupCollection.AddRange ListViewGroupCollection.AddRange ListViewGroupCollection.AddRange Method

Определение

Добавляет в коллекцию несколько групп.Adds multiple groups to the collection.

Перегрузки

AddRange(ListViewGroup[]) AddRange(ListViewGroup[]) AddRange(ListViewGroup[]) AddRange(ListViewGroup[])

Добавляет массив групп в коллекцию.Adds an array of groups to the collection.

AddRange(ListViewGroupCollection) AddRange(ListViewGroupCollection) AddRange(ListViewGroupCollection) AddRange(ListViewGroupCollection)

Добавляет группы из существующего объекта ListViewGroupCollection в коллекцию.Adds the groups in an existing ListViewGroupCollection to the collection.

AddRange(ListViewGroup[]) AddRange(ListViewGroup[]) AddRange(ListViewGroup[]) AddRange(ListViewGroup[])

Добавляет массив групп в коллекцию.Adds an array of groups to the collection.

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())

Параметры

groups
ListViewGroup[]

Массив типа ListViewGroup, который указывает группы, добавляемые в коллекцию.An array of type ListViewGroup that specifies the groups to add to the collection.

Исключения

groups содержит хотя бы одну группу хотя бы с одним объектом ListViewItem, который принадлежит элементу управления ListView, отличному от элемента управления, являющегося владельцем этой коллекции ListViewGroupCollection.groups contains at least one group with at least one ListViewItem that belongs to a ListView control other than the one that owns this ListViewGroupCollection.

Примеры

В следующем примере показано, как AddRange метод можно использовать в приложении, которое ListView организует элементы по значению подэлемента в представлении Details.The following example demonstrates how the AddRange method can be used in an application that organizes ListView items by subitem value in the details view. Такая форма группирования похожа на группирование, используемое в проводнике Windows.This form of grouping is similar to the grouping used in Windows Explorer. В этом примере группы создаются динамически.In the example, the groups are created dynamically. Для каждого столбца подэлементов создается одна группа для каждого уникального значения подэлемента.For each subitem column, one group is created for each unique subitem value. Для столбца родительского элемента для каждой уникальной исходной буквы создается одна группа.For the parent item column, one group is created for each unique initial letter. Группы, созданные для каждого столбца, хранятся в хэш-таблице вместе с текстом подэлемента или начальной буквой.The groups created for each column are stored in a hash table along with the subitem text or initial letter. При нажатии на ListViewGroupCollection заголовок столбца удаляется.When a column header is clicked, the ListViewGroupCollection is cleared. Затем возвращается хэш-таблица, соответствующая выбранному столбцу, и каждый элемент назначается соответствующей группе.The hash table corresponding to the clicked column is then retrieved and each item is assigned to the appropriate group. Наконец, упорядоченный массив групп в хэш-таблице добавляется ListViewGroupCollectionв.Finally, a sorted array of the groups in the hash table is added to the ListViewGroupCollection.

Полный пример см. в ListViewGroupCollection справочном разделе Обзор.For the complete example, see the ListViewGroupCollection overview reference topic.

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

Комментарии

Используйте эту версию AddRange метода, чтобы добавить массив групп в коллекцию групп.Use this version of the AddRange method to add an array of groups to the group collection. Этот метод полезен при создании нескольких ListViewGroup объектов и необходимости добавить их в коллекцию с помощью одного вызова метода.This method is useful when you create multiple ListViewGroup objects and want to add them to the collection with a single method call. Чтобы добавить отдельные группы в коллекцию, используйте Add метод.To add individual groups to the collection, use the Add method.

Этот метод также полезен, если требуется предоставить несколько способов группирования элементов в ListView элементе управления.This method is also useful when you want to provide multiple ways to group the items in a ListView control. Для этого создайте несколько групповых массивов.To do this, create multiple group arrays. Чтобы изменить группирование, сначала используйте Clear метод, чтобы удалить все группы из коллекции, а затем AddRange используйте метод, чтобы добавить другой массив групп.To change the grouping, first use the Clear method to remove all the groups from the collection, then use the AddRange method to add a different array of groups.

В отличие от Add метода AddRange , метод не имеет возвращаемого значения, который можно использовать для определения того, является ли добавляемая группа уже имеющейся в коллекции.Unlike the Add method, the AddRange method does not have a return value that can be used to determine whether a group being added is already in the collection. Если вам нужны эти сведения, используйте Contains метод перед AddRange использованием метода.If you need this information, use the Contains method before using the AddRange method.

Дополнительно

AddRange(ListViewGroupCollection) AddRange(ListViewGroupCollection) AddRange(ListViewGroupCollection) AddRange(ListViewGroupCollection)

Добавляет группы из существующего объекта ListViewGroupCollection в коллекцию.Adds the groups in an existing ListViewGroupCollection to the collection.

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)

Параметры

groups
ListViewGroupCollection ListViewGroupCollection ListViewGroupCollection ListViewGroupCollection

Коллекция ListViewGroupCollection, содержащая группы для добавления в коллекцию.A ListViewGroupCollection containing the groups to add to the collection.

Исключения

groups содержит хотя бы одну группу хотя бы с одним объектом ListViewItem, который принадлежит элементу управления ListView, отличному от элемента управления, являющегося владельцем этой коллекции ListViewGroupCollection.groups contains at least one group with at least one ListViewItem that belongs to a ListView control other than the one that owns this ListViewGroupCollection.

Комментарии

Используйте эту версию AddRange метода для добавления элементов ListViewGroupCollection объекта ListView.Groups , которые извлекаются через свойство другого ListView элемента управления.Use this version of the AddRange method to add the elements of a ListViewGroupCollection that you retrieve through the ListView.Groups property of a different ListView control.

В отличие от Add метода AddRange , метод не имеет возвращаемого значения, который можно использовать для определения того, является ли добавляемая группа уже имеющейся в коллекции.Unlike the Add method, the AddRange method does not have a return value that can be used to determine whether a group being added is already in the collection. Если вам нужны эти сведения, используйте Contains метод перед AddRange использованием метода.If you need this information, use the Contains method before using the AddRange method.

Применяется к