Edit

Share via


ListViewGroup Constructors

Definition

Initializes a new instance of the ListViewGroup class.

Overloads

ListViewGroup()

Initializes a new instance of the ListViewGroup class using the default header text of "ListViewGroup" and the default left header alignment.

ListViewGroup(String)

Initializes a new instance of the ListViewGroup class using the specified value to initialize the Header property and using the default left header alignment.

ListViewGroup(String, String)

Initializes a new instance of the ListViewGroup class using the specified values to initialize the Name and Header properties.

ListViewGroup(String, HorizontalAlignment)

Initializes a new instance of the ListViewGroup class using the specified header text and the specified header alignment.

ListViewGroup()

Source:
ListViewGroup.cs
Source:
ListViewGroup.cs
Source:
ListViewGroup.cs

Initializes a new instance of the ListViewGroup class using the default header text of "ListViewGroup" and the default left header alignment.

public:
 ListViewGroup();
public ListViewGroup ();
Public Sub New ()

Applies to

ListViewGroup(String)

Source:
ListViewGroup.cs
Source:
ListViewGroup.cs
Source:
ListViewGroup.cs

Initializes a new instance of the ListViewGroup class using the specified value to initialize the Header property and using the default left header alignment.

public:
 ListViewGroup(System::String ^ header);
public ListViewGroup (string header);
public ListViewGroup (string? header);
new System.Windows.Forms.ListViewGroup : string -> System.Windows.Forms.ListViewGroup
Public Sub New (header As String)

Parameters

header
String

The text to display for the group header.

Applies to

ListViewGroup(String, String)

Source:
ListViewGroup.cs
Source:
ListViewGroup.cs
Source:
ListViewGroup.cs

Initializes a new instance of the ListViewGroup class using the specified values to initialize the Name and Header properties.

public:
 ListViewGroup(System::String ^ key, System::String ^ headerText);
public ListViewGroup (string key, string headerText);
public ListViewGroup (string? key, string? headerText);
new System.Windows.Forms.ListViewGroup : string * string -> System.Windows.Forms.ListViewGroup
Public Sub New (key As String, headerText As String)

Parameters

key
String

The initial value of the Name property.

headerText
String

The initial value of the Header property.

Applies to

ListViewGroup(String, HorizontalAlignment)

Source:
ListViewGroup.cs
Source:
ListViewGroup.cs
Source:
ListViewGroup.cs

Initializes a new instance of the ListViewGroup class using the specified header text and the specified header alignment.

public:
 ListViewGroup(System::String ^ header, System::Windows::Forms::HorizontalAlignment headerAlignment);
public ListViewGroup (string header, System.Windows.Forms.HorizontalAlignment headerAlignment);
public ListViewGroup (string? header, System.Windows.Forms.HorizontalAlignment headerAlignment);
new System.Windows.Forms.ListViewGroup : string * System.Windows.Forms.HorizontalAlignment -> System.Windows.Forms.ListViewGroup
Public Sub New (header As String, headerAlignment As HorizontalAlignment)

Parameters

header
String

The text to display for the group header.

headerAlignment
HorizontalAlignment

One of the HorizontalAlignment values that specifies the alignment of the header text.

Examples

The following code example demonstrates how the ListViewGroup constructor can be used in an application that organizes ListView items by subitem value in the details view. This form of grouping is similar to the grouping used in Windows Explorer. In the example, the groups are created dynamically. For each subitem column, one group is created for each unique subitem value. For the parent item column, one group is created for each unique initial letter. The groups created for each column are stored in a hash table along with the subitem text or initial letter. When a column header is clicked, this text value is used to match items to groups for the appropriate column.

For the complete example, see the ListViewGroup overview reference topic.

   // Creates a Hashtable object with one entry for each unique
   // subitem value (or initial letter for the parent item)
   // in the specified column.
private:
   Hashtable^ CreateGroupsTable(int column)
   {
      // Create a Hashtable object.
      Hashtable^ groups = gcnew Hashtable();

      // Iterate through the items in myListView.
      IEnumerator^ myEnum1 = myListView->Items->GetEnumerator();
      while (myEnum1->MoveNext())
      {
         ListViewItem^ item = safe_cast<ListViewItem^>(myEnum1->Current);
         // Retrieve the text value for the column.
         String^ subItemText = item->SubItems[column]->Text;

         // Use the initial letter instead if it is the first column.
         if (column == 0) 
         {
            subItemText = subItemText->Substring(0, 1);
         }

         // If the groups table does not already contain a group
         // for the subItemText value, add a new group using the 
         // subItemText value for the group header and Hashtable key.
         if (!groups->Contains(subItemText))
         {
            groups->Add( subItemText, gcnew ListViewGroup(subItemText, 
               HorizontalAlignment::Left) );
         }
      }

      // Return the Hashtable object.
      return groups;
   }
// Creates a Hashtable object with one entry for each unique
// subitem value (or initial letter for the parent item)
// in the specified column.
private Hashtable CreateGroupsTable(int column)
{
    // Create a Hashtable object.
    Hashtable groups = new Hashtable();

    // Iterate through the items in myListView.
    foreach (ListViewItem item in myListView.Items)
    {
        // Retrieve the text value for the column.
        string subItemText = item.SubItems[column].Text;

        // Use the initial letter instead if it is the first column.
        if (column == 0) 
        {
            subItemText = subItemText.Substring(0, 1);
        }

        // If the groups table does not already contain a group
        // for the subItemText value, add a new group using the 
        // subItemText value for the group header and Hashtable key.
        if (!groups.Contains(subItemText))
        {
            groups.Add( subItemText, new ListViewGroup(subItemText, 
                HorizontalAlignment.Left) );
        }
    }

    // Return the Hashtable object.
    return groups;
}
' Creates a Hashtable object with one entry for each unique
' subitem value (or initial letter for the parent item)
' in the specified column.
Private Function CreateGroupsTable(column As Integer) As Hashtable
    ' Create a Hashtable object.
    Dim groups As New Hashtable()
    
    ' Iterate through the items in myListView.
    Dim item As ListViewItem
    For Each item In myListView.Items
        ' Retrieve the text value for the column.
        Dim subItemText As String = item.SubItems(column).Text
        
        ' Use the initial letter instead if it is the first column.
        If column = 0 Then
            subItemText = subItemText.Substring(0, 1)
        End If 

        ' If the groups table does not already contain a group
        ' for the subItemText value, add a new group using the 
        ' subItemText value for the group header and Hashtable key.
        If Not groups.Contains(subItemText) Then
            groups.Add( subItemText, New ListViewGroup(subItemText, _
                HorizontalAlignment.Left) )
        End If
    Next item
    
    ' Return the Hashtable object.
    Return groups
End Function 'CreateGroupsTable

Applies to