ListView.ColumnHeaderCollection Class
TOC
Collapse the table of content
Expand the table of content

ListView.ColumnHeaderCollection Class

 

Represents the collection of column headers in a ListView control.

Namespace:   System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

System.Object
  System.Windows.Forms.ListView.ColumnHeaderCollection

[ListBindableAttribute(false)]
public class ColumnHeaderCollection : IList, ICollection, IEnumerable

NameDescription
System_CAPS_pubmethodListView.ColumnHeaderCollection(ListView)

Initializes a new instance of the ListView.ColumnHeaderCollection class.

NameDescription
System_CAPS_pubpropertyCount

Gets the number of items in the collection.

System_CAPS_pubpropertyIsReadOnly

Gets a value indicating whether the collection is read-only.

System_CAPS_pubpropertyItem[Int32]

Gets the column header at the specified index within the collection.

System_CAPS_pubpropertyItem[String]

Gets the column header with the specified key from the collection.

NameDescription
System_CAPS_pubmethodAdd(ColumnHeader)

Adds an existing ColumnHeader to the collection.

System_CAPS_pubmethodAdd(String)

Creates and adds a column with the specified text to the collection.

System_CAPS_pubmethodAdd(String, Int32)

Creates and adds a column with the specified text and width to the collection.

System_CAPS_pubmethodAdd(String, Int32, HorizontalAlignment)

Adds a column header to the collection with specified text, width, and alignment settings.

System_CAPS_pubmethodAdd(String, String)

Creates and adds a column with the specified text and key to the collection.

System_CAPS_pubmethodAdd(String, String, Int32)

Creates and adds a column with the specified text, key, and width to the collection.

System_CAPS_pubmethodAdd(String, String, Int32, HorizontalAlignment, Int32)

Creates and adds a column with the specified key, aligned text, width, and image index to the collection.

System_CAPS_pubmethodAdd(String, String, Int32, HorizontalAlignment, String)

Creates and adds a column with the specified key, aligned text, width, and image key to the collection.

System_CAPS_pubmethodAddRange(ColumnHeader[])

Adds an array of column headers to the collection.

System_CAPS_pubmethodClear()

Removes all column headers from the collection.

System_CAPS_pubmethodContains(ColumnHeader)

Determines whether the specified column header is located in the collection.

System_CAPS_pubmethodContainsKey(String)

Determines if a column with the specified key is contained in the collection.

System_CAPS_pubmethodEquals(Object)

Determines whether the specified object is equal to the current object.(Inherited from Object.)

System_CAPS_protmethodFinalize()

Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.)

System_CAPS_pubmethodGetEnumerator()

Returns an enumerator to use to iterate through the column header collection.

System_CAPS_pubmethodGetHashCode()

Serves as the default hash function. (Inherited from Object.)

System_CAPS_pubmethodGetType()

Gets the Type of the current instance.(Inherited from Object.)

System_CAPS_pubmethodIndexOf(ColumnHeader)

Returns the index, within the collection, of the specified column header.

System_CAPS_pubmethodIndexOfKey(String)

Determines the index for a column with the specified key.

System_CAPS_pubmethodInsert(Int32, ColumnHeader)

Inserts an existing column header into the collection at the specified index.

System_CAPS_pubmethodInsert(Int32, String)

Creates a new column header with the specified text, and inserts the header into the collection at the specified index.

System_CAPS_pubmethodInsert(Int32, String, Int32)

Creates a new column header with the specified text and initial width, and inserts the header into the collection at the specified index.

System_CAPS_pubmethodInsert(Int32, String, Int32, HorizontalAlignment)

Creates a new column header and inserts it into the collection at the specified index.

System_CAPS_pubmethodInsert(Int32, String, String)

Creates a new column header with the specified text and key, and inserts the header into the collection at the specified index.

System_CAPS_pubmethodInsert(Int32, String, String, Int32)

Creates a new column header with the specified text, key, and width, and inserts the header into the collection at the specified index.

System_CAPS_pubmethodInsert(Int32, String, String, Int32, HorizontalAlignment, Int32)

Creates a new column header with the specified aligned text, key, width, and image index, and inserts the header into the collection at the specified index.

System_CAPS_pubmethodInsert(Int32, String, String, Int32, HorizontalAlignment, String)

Creates a new column header with the specified aligned text, key, width, and image key, and inserts the header into the collection at the specified index.

System_CAPS_protmethodMemberwiseClone()

Creates a shallow copy of the current Object.(Inherited from Object.)

System_CAPS_pubmethodRemove(ColumnHeader)

Removes the specified column header from the collection.

System_CAPS_pubmethodRemoveAt(Int32)

Removes the column header at the specified index within the collection.

System_CAPS_pubmethodRemoveByKey(String)

Removes the column with the specified key from the collection.

System_CAPS_pubmethodToString()

Returns a string that represents the current object.(Inherited from Object.)

NameDescription
System_CAPS_pubinterfaceSystem_CAPS_privmethodICollection.CopyTo(Array, Int32)

This API supports the product infrastructure and is not intended to be used directly from your code. Copies the ColumnHeader objects in the ListView.ColumnHeaderCollection to an array, starting at a particular array index.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIList.Add(Object)

This API supports the product infrastructure and is not intended to be used directly from your code. Adds a ColumnHeader to the ListView.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIList.Contains(Object)

This API supports the product infrastructure and is not intended to be used directly from your code. Determines whether the specified column header is located in the collection.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIList.IndexOf(Object)

This API supports the product infrastructure and is not intended to be used directly from your code. Returns the index, within the collection, of the specified column header.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIList.Insert(Int32, Object)

This API supports the product infrastructure and is not intended to be used directly from your code. Inserts an existing column header into the collection at the specified index.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIList.Remove(Object)

This API supports the product infrastructure and is not intended to be used directly from your code. Removes the specified column header from the collection.

System_CAPS_pubinterfaceSystem_CAPS_privpropertyICollection.IsSynchronized

This API supports the product infrastructure and is not intended to be used directly from your code. Gets a value indicating whether access to the ListView.ColumnHeaderCollection is synchronized (thread safe).

System_CAPS_pubinterfaceSystem_CAPS_privpropertyICollection.SyncRoot

This API supports the product infrastructure and is not intended to be used directly from your code. Gets an object that can be used to synchronize access to the collection of controls.

System_CAPS_pubinterfaceSystem_CAPS_privpropertyIList.IsFixedSize

This API supports the product infrastructure and is not intended to be used directly from your code. Gets a value indicating whether the ListView.ColumnHeaderCollection has a fixed size.

System_CAPS_pubinterfaceSystem_CAPS_privpropertyIList.Item[Int32]

This API supports the product infrastructure and is not intended to be used directly from your code. Gets or sets the column header at the specified index within the collection.

NameDescription
System_CAPS_pubmethodAsParallel()

Overloaded. Enables parallelization of a query.(Defined by ParallelEnumerable.)

System_CAPS_pubmethodAsQueryable()

Overloaded. Converts an IEnumerable to an IQueryable.(Defined by Queryable.)

System_CAPS_pubmethodCast<TResult>()

Casts the elements of an IEnumerable to the specified type.(Defined by Enumerable.)

System_CAPS_pubmethodOfType<TResult>()

Filters the elements of an IEnumerable based on a specified type.(Defined by Enumerable.)

A ListView.ColumnHeaderCollection class stores the column headers that are displayed in the ListView control when the View property is set to Details. The ListView.ColumnHeaderCollection stores ColumnHeader objects that define the text to display for a column as well as how the column header is displayed in the ListView control when displaying columns. When a ListView displays columns, the items and their subitems are displayed in their own columns. To specify which columns subitem data is displayed under, see the ListViewItem.ListViewSubItemCollection class.

There are a number of ways to add column headers to the collection. The Add method adds a single column header to the collection. To add a number of column headers to the collection, you create an array of ColumnHeader objects and pass it to the AddRange method. If you want to insert a column header at a specific location in the collection, you can use the Insert method. To remove column headers, you can use either the Remove method or the RemoveAt method if you know where the column header is located in the collection. The Clear method allows you to remove all column headers from the collection instead of using the Remove method to remove a single column header at a time.

In addition to methods and properties for adding and removing column headers, the ListView.ColumnHeaderCollection also provides methods to find column headers in the collection. The Contains method enables you to determine whether a column header is a member of the collection. Once you know that the column header is located in the collection, you can use the IndexOf method to determine where the column header is located in the collection.

System_CAPS_noteNote

Unexpected behavior can result when the combined width of all columns exceeds 32,768 pixels.

The following code example creates a form that contains a ListView control that manually sorts items when a column in the ListView control is clicked. The example defines a class called ListViewItemComparer that implements the System.Collections.IComparer interface that performs the ListViewItem comparison. The example creates an instance of ListViewItemComparer and uses it to set the ListViewItemSorter property of the ListView control. The Sort method call in the ColumnClick event handler uses the methods defined in ListViewItemComparer to perform the sort of items, based on the column that is clicked.

using System;
using System.Windows.Forms;
using System.Drawing;
using System.Collections;

namespace ListViewSortFormNamespace
{


    public class ListViewSortForm : Form
    {
        private ListView listView1;

        public ListViewSortForm()
        {
            // Create ListView items to add to the control.
            ListViewItem listViewItem1 = new ListViewItem(new string[] {"Banana","a","b","c"}, -1, Color.Empty, Color.Yellow, null);
            ListViewItem listViewItem2 = new ListViewItem(new string[] {"Cherry","v","g","t"}, -1, Color.Empty, Color.Red, new Font("Microsoft Sans Serif", 8.25F, FontStyle.Regular, GraphicsUnit.Point, ((System.Byte)(0))));
            ListViewItem listViewItem3 = new ListViewItem(new string[] {"Apple","h","j","n"}, -1, Color.Empty, Color.Lime, null);
            ListViewItem listViewItem4 = new ListViewItem(new string[] {"Pear","y","u","i"}, -1, Color.Empty, Color.FromArgb(((System.Byte)(192)), ((System.Byte)(128)), ((System.Byte)(156))), null);

            //Initialize the ListView control and add columns to it.
            this.listView1 = new ListView();

            // Set the initial sorting type for the ListView.
            this.listView1.Sorting = SortOrder.None;
            // Disable automatic sorting to enable manual sorting.
            this.listView1.View = View.Details;
            // Add columns and set their text.
            this.listView1.Columns.Add(new ColumnHeader());
            this.listView1.Columns[0].Text = "Column 1";
            this.listView1.Columns[0].Width = 100;
            listView1.Columns.Add(new ColumnHeader());
            listView1.Columns[1].Text = "Column 2";
            listView1.Columns.Add(new ColumnHeader());
            listView1.Columns[2].Text = "Column 3";
            listView1.Columns.Add(new ColumnHeader());
            listView1.Columns[3].Text = "Column 4";
            // Suspend control logic until form is done configuring form.
            this.SuspendLayout();
            // Add Items to the ListView control.
            this.listView1.Items.AddRange(new ListViewItem[] {listViewItem1,
                listViewItem2,
                listViewItem3,
                listViewItem4});
            // Set the location and size of the ListView control.
            this.listView1.Location = new Point(10, 10);
            this.listView1.Name = "listView1";
            this.listView1.Size = new Size(300, 100);
            this.listView1.TabIndex = 0;
            // Enable editing of the items in the ListView.
            this.listView1.LabelEdit = true;
            // Connect the ListView.ColumnClick event to the ColumnClick event handler.
            this.listView1.ColumnClick += new ColumnClickEventHandler(ColumnClick);

            // Initialize the form.
            this.ClientSize = new Size(400, 400);
            this.Controls.AddRange(new Control[] {this.listView1});
            this.Name = "ListViewSortForm";
            this.Text = "Sorted ListView Control";
            // Resume layout of the form.
            this.ResumeLayout(false);
        }


        // ColumnClick event handler.
        private void ColumnClick(object o, ColumnClickEventArgs e)
        {
            // Set the ListViewItemSorter property to a new ListViewItemComparer 
            // object. Setting this property immediately sorts the 
            // ListView using the ListViewItemComparer object.
            this.listView1.ListViewItemSorter = new ListViewItemComparer(e.Column);
        }

        [System.STAThreadAttribute()]
        public static void Main()
        {
            Application.Run(new ListViewSortForm());
        }

    }

    // Implements the manual sorting of items by columns.
    class ListViewItemComparer : IComparer
    {
        private int col;
        public ListViewItemComparer()
        {
            col = 0;
        }
        public ListViewItemComparer(int column)
        {
            col = column;
        }
        public int Compare(object x, object y)
        {
            return String.Compare(((ListViewItem)x).SubItems[col].Text, ((ListViewItem)y).SubItems[col].Text);
        }
    }

}

.NET Framework
Available since 1.1

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Return to top
Show:
© 2016 Microsoft