Export (0) Print
Expand All
Expand Minimize
2 out of 2 rated this helpful - Rate this topic

DataGridViewAutoSizeColumnsMode Enumeration

Note: This enumeration is new in the .NET Framework version 2.0.

Defines values for specifying how the widths of columns are adjusted.

Namespace: System.Windows.Forms
Assembly: System.Windows.Forms (in system.windows.forms.dll)

public enum DataGridViewAutoSizeColumnsMode
public enum DataGridViewAutoSizeColumnsMode
public enum DataGridViewAutoSizeColumnsMode
 Member nameDescription
AllCellsThe column widths adjust to fit the contents of all cells in the columns, including header cells.  
AllCellsExceptHeaderThe column widths adjust to fit the contents of all cells in the columns, excluding header cells.  
ColumnHeaderThe column widths adjust to fit the contents of the column header cells.  
DisplayedCellsThe column widths adjust to fit the contents of all cells in the columns that are in rows currently displayed onscreen, including header cells.  
DisplayedCellsExceptHeaderThe column widths adjust to fit the contents of all cells in the columns that are in rows currently displayed onscreen, excluding header cells.  
FillThe column widths adjust so that the widths of all columns exactly fill the display area of the control, requiring horizontal scrolling only to keep column widths above the DataGridViewColumn.MinimumWidth property values. Relative column widths are determined by the relative DataGridViewColumn.FillWeight property values. 
NoneThe column widths do not automatically adjust.  

The DataGridView control can resize its columns to make them fill the available horizontal width of the control or to make them display the full contents of all cells or of specified cells.

With Fill mode, the preferred width of a column is determined by resizing all columns in that mode so that all visible columns in the control exactly fill the horizontal width of the available display area. With other modes, the preferred column width is the minimum width required to display the largest cell value from all cells or a subset of cells in that column, such as the subset of cells that are in currently displayed rows. Using a subset of cells to determine the new width is useful to avoid a performance penalty when working with many rows of data.

Content-based automatic resizing prevents users from adjusting column widths with the mouse. User resizing is enabled in fill mode, however.

This enumeration is used by the DataGridView control AutoSizeColumnsMode property and AutoResizeColumns method.

For more information about sizing modes, see Sizing Options in the Windows Forms DataGridView Control. For more information about column fill mode in particular, see Column Fill Mode in the Windows Forms DataGridView Control.

The following code example illustrates the use of this enumeration in a master/details scenario where two DataGridView controls display data from two tables in a parent/child relationship. In this example, the column sizing mode for the master control is None and the column widths are programmatically initialized to fit the loaded values. The details control is set to an automatic sizing mode so that columns will adjust automatically whenever the values change (for example, when the user changes the current row in the parent table). This example is part of a larger example available in How to: Create a Master/Detail Form Using Two Windows Forms DataGridView Controls.

private void Form1_Load(object sender, System.EventArgs e)
{
    // Bind the DataGridView controls to the BindingSource
    // components and load the data from the database.
    masterDataGridView.DataSource = masterBindingSource;
    detailsDataGridView.DataSource = detailsBindingSource;
    GetData();

    // Resize the master DataGridView columns to fit the newly loaded data.
    masterDataGridView.AutoResizeColumns();

    // Configure the details DataGridView so that its columns automatically
    // adjust their widths when the data changes.
    detailsDataGridView.AutoSizeColumnsMode = 
        DataGridViewAutoSizeColumnsMode.AllCells;
}

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

.NET Framework

Supported in: 2.0
Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

ADD
Show:
© 2014 Microsoft. All rights reserved.