ListViewGroupCollection.AddRange Метод

Определение

Добавляет в коллекцию несколько групп.

Перегрузки

AddRange(ListViewGroup[])

Добавляет массив групп в коллекцию.

AddRange(ListViewGroupCollection)

Добавляет группы из существующего объекта ListViewGroupCollection в коллекцию.

AddRange(ListViewGroup[])

Добавляет массив групп в коллекцию.

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

Параметры

groups
ListViewGroup[]

Массив типа ListViewGroup, который указывает группы, добавляемые в коллекцию.

Исключения

groups содержит хотя бы одну группу хотя бы с одним объектом ListViewItem, который принадлежит элементу управления ListView, отличному от элемента управления, являющегося владельцем этой коллекции ListViewGroupCollection.

Объект ListView , которому назначена эта коллекция, находится в виртуальном режиме.

Примеры

В следующем примере показано, как AddRange можно использовать метод в приложении, которое упорядочивает ListView элементы по значению подэлемента в представлении сведений. Эта форма группировки аналогична группировке, используемой в проводнике Windows. В этом примере группы создаются динамически. Для каждого столбца подэлемента создается одна группа для каждого уникального значения подэлемента. Для столбца родительского элемента создается одна группа для каждой уникальной начальной буквы. Группы, созданные для каждого столбца, хранятся в хэш-таблице вместе с текстом подэлемента или начальной буквой. При щелчке заголовка столбца ListViewGroupCollection очищается. Затем извлекается хэш-таблица, соответствующая щелкнутому столбцу, и каждый элемент назначается соответствующей группе. Наконец, отсортированный массив групп в хэш-таблице добавляется в ListViewGroupCollection.

Полный пример см. в обзорной справочной ListViewGroupCollection статье.

   // 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 добавления массива групп в коллекцию групп. Этот метод полезен при создании нескольких ListViewGroup объектов и их добавлении в коллекцию с помощью одного вызова метода. Чтобы добавить отдельные группы в коллекцию, используйте Add метод .

Этот метод также полезен, если требуется предоставить несколько способов группировки элементов в элементе ListView управления . Для этого создайте несколько массивов групп. Чтобы изменить группирование, сначала используйте Clear метод , чтобы удалить все группы из коллекции, а затем используйте AddRange метод , чтобы добавить другой массив групп.

Add В отличие от метода, AddRange метод не имеет возвращаемого значения, которое можно использовать для определения того, находится ли добавляемая группа в коллекции. Если вам нужны эти сведения, используйте Contains метод перед использованием AddRange метода .

См. также раздел

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

AddRange(ListViewGroupCollection)

Добавляет группы из существующего объекта ListViewGroupCollection в коллекцию.

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, содержащая группы для добавления в коллекцию.

Исключения

groups содержит хотя бы одну группу хотя бы с одним объектом ListViewItem, который принадлежит элементу управления ListView, отличному от элемента управления, являющегося владельцем этой коллекции ListViewGroupCollection.

Объект ListView , которому назначена эта коллекция, находится в виртуальном режиме.

Комментарии

Используйте эту версию метода для AddRange добавления элементов объекта , ListViewGroupCollection извлекаемых с помощью ListView.Groups свойства другого ListView элемента управления.

Add В отличие от метода, AddRange метод не имеет возвращаемого значения, которое можно использовать для определения того, находится ли добавляемая группа в коллекции. Если вам нужны эти сведения, используйте Contains метод перед использованием AddRange метода .

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