ListViewGroupCollection.Clear Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee verwijdert u alle groepen uit de verzameling.
public:
virtual void Clear();
public void Clear();
abstract member Clear : unit -> unit
override this.Clear : unit -> unit
Public Sub Clear ()
Implementeringen
Voorbeelden
In het volgende voorbeeld ziet u hoe de Clear methode kan worden gebruikt in een toepassing waarmee items op subitemwaarde in de detailweergave worden ingedeeld ListView . Deze vorm van groepering is vergelijkbaar met de groepering die wordt gebruikt in Windows Explorer. In het voorbeeld worden de groepen dynamisch gemaakt. Voor elke subitemkolom wordt één groep gemaakt voor elke unieke subitemwaarde. Voor de kolom met bovenliggende items wordt één groep gemaakt voor elke unieke eerste letter. De groepen die voor elke kolom worden gemaakt, worden samen met de subitemtekst of de eerste letter opgeslagen in een hash-tabel. Wanneer op een kolomkop wordt geklikt, wordt de ListViewGroupCollection kolom gewist. De hash-tabel die overeenkomt met de geklikte kolom wordt vervolgens opgehaald en elk item wordt toegewezen aan de juiste groep. Ten slotte wordt een gesorteerde matrix van de groepen in de hash-tabel toegevoegd aan de ListViewGroupCollection.
Zie het overzichtsonderwerp voor het ListViewGroupCollection volledige voorbeeld.
// 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
Opmerkingen
Gebruik deze methode om alle groepen uit de verzameling te verwijderen. Houd er rekening mee dat het verwijderen van groepen uit de ListView.Groups verzameling geen items uit het ListView besturingselement verwijdert.
Deze methode is handig om de groeperingsfunctie uit te schakelen. Wanneer er geen groepen in een ListView besturingselement zijn, worden de items normaal weergegeven. Als u afzonderlijke groepen uit de verzameling wilt verwijderen, gebruikt u de Remove of RemoveAt methode.
Deze methode is ook handig als u meerdere manieren wilt opgeven om de items te groeperen. Als u de groepering wilt wijzigen, gebruikt u eerst de Clear methode om alle groepen uit de verzameling te verwijderen en gebruikt u vervolgens de AddRange methode om een andere matrix van groepen toe te voegen.