Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo ListViewGroupCollection.AddRange (ListViewGroup[])

 

Data di pubblicazione: ottobre 2016

Aggiunge una matrice di gruppi nella raccolta.

Spazio dei nomi:   System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

public void AddRange(
	ListViewGroup[] groups
)

Parametri

groups
Type: System.Windows.Forms.ListViewGroup[]

Matrice di tipo ListViewGroup che specifica i gruppi da aggiungere alla raccolta.

Exception Condition
ArgumentException

groups contiene almeno un gruppo con almeno un ListViewItem che appartiene a un ListView diverso da quello a cui appartiene questo controllo ListViewGroupCollection.

Utilizzare questa versione di AddRange metodo per aggiungere una matrice di gruppi all'insieme di gruppi. Questo metodo è utile quando si creano più ListViewGroup gli oggetti e aggiungerli alla raccolta con una singola chiamata al metodo. Per aggiungere singoli gruppi all'insieme, utilizzare il Add metodo.

Questo metodo è utile anche quando si desidera fornire diverse modalità per raggruppare gli elementi in un ListView controllo. A tale scopo, creare più array di gruppo. Per modificare il raggruppamento, utilizzare il Clear metodo per rimuovere tutti i gruppi dalla raccolta, quindi utilizzare il AddRange metodo per aggiungere una matrice di gruppi diversi.

A differenza di Add (metodo), il AddRange metodo non dispone di un valore restituito può essere utilizzato per determinare se un gruppo da aggiungere è già nella raccolta. Se queste informazioni sono necessarie, utilizzare il Contains prima di utilizzare il AddRange metodo.

Nell'esempio seguente viene illustrato come il AddRange metodo può essere utilizzato in un'applicazione che consente di organizzare ListView gli elementi in base al valore dell'elemento secondario nella visualizzazione dettagli. Questa forma di raggruppamento è simile al raggruppamento utilizzato in Windows Explorer. Nell'esempio, i gruppi vengono creati dinamicamente. Per ogni colonna dell'elemento secondario, viene creato un gruppo per ogni valore univoco dell'elemento secondario. Per la colonna dell'elemento padre, viene creato un gruppo per ogni lettera iniziale univoca. I gruppi creati per ogni colonna vengono archiviati in una tabella hash con il testo dell'elemento secondario o la lettera iniziale. Quando viene fatto clic su un'intestazione di colonna, il ListViewGroupCollection è deselezionata. La tabella hash corrispondente alla colonna selezionata viene quindi recuperata e ogni elemento viene assegnato al gruppo appropriato. Infine, viene aggiunta una matrice ordinata dei gruppi nella tabella hash per il ListViewGroupCollection.

Per un esempio completo, vedere il ListViewGroupCollection Panoramica di riferimento.

// 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];
    }
}

.NET Framework
Disponibile da 2.0
Torna all'inizio
Mostra: