ListViewGroupCollection.AddRange Método

Definição

Adiciona vários grupos à coleção.

Sobrecargas

Name Description
AddRange(ListViewGroup[])

Adiciona uma variedade de grupos à coleção.

AddRange(ListViewGroupCollection)

Adiciona os grupos existentes ListViewGroupCollection à coleção.

AddRange(ListViewGroup[])

Adiciona uma variedade de grupos à coleção.

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

Parâmetros

groups
ListViewGroup[]

Um array de tipo ListViewGroup que especifica os grupos a adicionar à coleção.

Exceções

groups contém pelo menos um grupo com pelo menos um ListViewItem que pertence a um ListView controlo diferente daquele que possui este ListViewGroupCollection.

O ListView que esta coleção é atribuída está em modo virtual.

Exemplos

O exemplo seguinte demonstra como o AddRange método pode ser usado numa aplicação que organiza ListView itens por valor de subitem na vista de detalhes. Esta forma de agrupamento é semelhante à utilizada no Windows Explorer. No exemplo, os grupos são criados dinamicamente. Para cada coluna de subitem, é criado um grupo para cada valor único de subitem. Para a coluna do item-pai, é criado um grupo para cada letra inicial única. Os grupos criados para cada coluna são armazenados numa tabela de hash juntamente com o texto do subitem ou a letra inicial. Quando um cabeçalho de coluna é clicado, o ListViewGroupCollection é limpo. A tabela de hash correspondente à coluna clicada é então recuperada e cada item é atribuído ao grupo apropriado. Finalmente, um array ordenado dos grupos na tabela de hash é adicionado ao ListViewGroupCollection.

Para o exemplo completo, consulte o ListViewGroupCollection tópico de referência de visão geral.

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

Observações

Use esta versão do AddRange método para adicionar um array de grupos à coleção de grupos. Este método é útil quando crias múltiplos ListViewGroup objetos e queres adicioná-los à coleção com uma única chamada de método. Para adicionar grupos individuais à coleção, use o Add método.

Este método também é útil quando se pretende fornecer várias formas de agrupar os itens num ListView controlo. Para isso, crie múltiplos arrays de grupo. Para alterar o agrupamento, primeiro use o Clear método para remover todos os grupos da coleção e depois use o AddRange método para adicionar um array diferente de grupos.

Ao contrário do Add método, este AddRange não tem um valor de retorno que possa ser usado para determinar se um grupo que está a ser adicionado já está na coleção. Se precisar desta informação, use o Contains método antes de o AddRange utilizar.

Ver também

Aplica-se a

AddRange(ListViewGroupCollection)

Adiciona os grupos existentes ListViewGroupCollection à coleção.

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)

Parâmetros

groups
ListViewGroupCollection

A contendo ListViewGroupCollection os grupos a adicionar à coleção.

Exceções

groups contém pelo menos um grupo com pelo menos um ListViewItem que pertence a um ListView controlo diferente daquele que possui este ListViewGroupCollection.

O ListView que esta coleção é atribuída está em modo virtual.

Observações

Use esta versão do AddRange método para adicionar os elementos de a ListViewGroupCollection que recupera através da ListView.Groups propriedade de um controlo diferente ListView .

Ao contrário do Add método, este AddRange não tem um valor de retorno que possa ser usado para determinar se um grupo que está a ser adicionado já está na coleção. Se precisar desta informação, use o Contains método antes de o AddRange utilizar.

Aplica-se a