Compartir a través de


Cómo agrupar elementos en un control ListView de Windows Forms

Con la característica de agrupación del ListView control, puede mostrar conjuntos relacionados de elementos en grupos. Estos grupos se separan en la pantalla por encabezados de grupo horizontales que contienen los títulos del grupo. Puede usar ListView grupos para facilitar la navegación por listas grandes agrupando elementos alfabéticamente, por fecha o por cualquier otra agrupación lógica. En la imagen siguiente se muestran algunos elementos agrupados.

Captura de pantalla de grupos de ListView impares y pares.

Para habilitar la agrupación, primero debe crear uno o varios grupos en el diseñador o mediante programación. Una vez definido un grupo, puede asignar ListView elementos a grupos. También puede mover elementos de un grupo a otro mediante programación.

Para agregar grupos

  1. Use el método Add de la colección Groups.

    // Adds a new group that has a left-aligned header
    listView1.Groups.Add(new ListViewGroup("List item text",
        HorizontalAlignment.Left));
    
    ' Adds a new group that has a left-aligned header
    ListView1.Groups.Add(New ListViewGroup("Group 1", _
     HorizontalAlignment.Left))
    

Para eliminar grupos

  1. Use el método RemoveAt o Clear de la colección Groups.

    El RemoveAt método quita un único grupo; el Clear método quita todos los grupos de la lista.

    Nota:

    Al quitar un grupo no se quitan los elementos de ese grupo.

    // Removes the first group in the collection.
    listView1.Groups.RemoveAt(0);
    // Clears all groups.
    listView1.Groups.Clear();
    
    ' Removes the first group in the collection.
    ListView1.Groups.RemoveAt(0)
    ' Clears all groups:
    ListView1.Groups.Clear()
    

Para asignar elementos a grupos o mover elementos entre grupos

  1. Establezca la ListViewItem.Group propiedad de elementos individuales.

    // Adds the first item to the first group
    listView1.Items[0].Group = listView1.Groups[0];
    
    ' Adds the first item to the first group
    ListView1.Items.Item(0).Group = ListView1.Groups(0)
    

Consulte también