ListViewItem.Group Egenskap
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Hämtar eller anger den grupp som objektet har tilldelats till.
public:
property System::Windows::Forms::ListViewGroup ^ Group { System::Windows::Forms::ListViewGroup ^ get(); void set(System::Windows::Forms::ListViewGroup ^ value); };
public System.Windows.Forms.ListViewGroup Group { get; set; }
public System.Windows.Forms.ListViewGroup? Group { get; set; }
member this.Group : System.Windows.Forms.ListViewGroup with get, set
Public Property Group As ListViewGroup
Egenskapsvärde
Det ListViewGroup objekt som objektet har tilldelats till.
Exempel
I följande kodexempel visas hur Group egenskapen kan användas i ett program som organiserar ListView objekt efter underobjektvärde i informationsvyn. Den här typen av gruppering liknar den gruppering som används i Windows Explorer. I exemplet skapas grupperna dynamiskt. För varje underwebbplatskolumn skapas en grupp för varje unikt underobjektvärde. För den överordnade objektkolumnen skapas en grupp för varje unik inledande bokstav. De grupper som skapas för varje kolumn lagras i en hash-tabell tillsammans med underwebbplatstexten eller den inledande bokstaven. När du klickar på en kolumnrubrik hämtas den hashtabell som motsvarar den kolumnen. Därefter används underobjektets textvärden för den kolumnen som hashtabellnycklar för att hämta rätt grupp för varje objekt. Objektet tilldelas sedan till gruppen med hjälp av Group egenskapen .
Det här kodexemplet är en del av ett större exempel för egenskapen ListView.Groups .
// 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
Kommentarer
Använd den här egenskapen för att ange den grupp som ett objekt tillhör. Du kan också ange gruppen i ListViewItem konstruktorn, eller så kan du använda den här egenskapen för att ändra gruppmedlemskapet vid körning. Om du anger den här egenskapen till null och det finns grupper i samlingen ListView.Groups visas objektet i standardgruppen, som har rubriketiketten "DefaultGroupSystem. Windows. Formulär". Standardgruppen finns inte i ListView.Groups samlingen och kan inte ändras. Det är främst användbart vid felsökning för att säkerställa att alla objekt har lagts till korrekt i grupper.
Note
ListView grupper är endast tillgängliga på Windows XP och Windows Server 2003-familjen (Windows XP Home Edition, Windows XP Professional, Windows Server 2003). Mer information finns i översiktsavsnittet ListViewGroup .