This documentation is archived and is not being maintained.

How to: Freeze Columns in the Windows Forms DataGridView Control 

When users view data displayed in a Windows Forms DataGridView control, they sometimes need to refer to a single column or set of columns frequently. For example, when displaying a table of customer information that contains many columns, it is useful to display the customer name at all times while enabling other columns to scroll outside the visible region.

To achieve this behavior, you can freeze columns in the control. When you freeze a column, all the columns to its left (or to its right in right-to-left language scripts) are frozen as well. Frozen columns remain in place while all other columns can scroll.

NoteNote

If column reordering is enabled, the frozen columns are treated as a group distinct from the unfrozen columns. Users can reposition columns in either group, but they cannot move a column from one group to the other.

The Frozen property of a column determines whether the column is always visible within the grid.

There is support for this task in Visual Studio. How to: Freeze Columns in the Windows Forms DataGridView Control Using the Designer
How to: Freeze Columns in the Windows Forms DataGridView Control Using the Designer
How to: Freeze Columns in the Windows Forms DataGridView Control Using the Designer
How to: Freeze Columns in the Windows Forms DataGridView Control Using the Designer

To freeze a column programmatically

  • Set the System.Windows.Forms.DataGridViewColumn.Frozen property to true.

    this.dataGridView1.Columns["AddToCartButton"].Frozen = true;
    
    

Compiling the Code

This example requires:

  • A DataGridView control named dataGridView1 that contains a column named AddToCartButton.

  • References to the System and System.Windows.Forms assemblies.

See Also

Show: