This topic has not yet been rated - Rate this topic

DataGridViewCheckBoxColumn Class

Hosts a collection of DataGridViewCheckBoxCell objects.

System.Object
  System.Windows.Forms.DataGridViewElement
    System.Windows.Forms.DataGridViewBand
      System.Windows.Forms.DataGridViewColumn
        System.Windows.Forms.DataGridViewCheckBoxColumn

Namespace:  System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)
[ToolboxBitmapAttribute(typeof(DataGridViewCheckBoxColumn), "DataGridViewCheckBoxColumn.bmp")]
public class DataGridViewCheckBoxColumn : DataGridViewColumn

The DataGridViewCheckBoxColumn type exposes the following members.

  Name Description
Public method DataGridViewCheckBoxColumn() Initializes a new instance of the DataGridViewCheckBoxColumn class to the default state.
Public method DataGridViewCheckBoxColumn(Boolean) Initializes a new instance of the DataGridViewCheckBoxColumn and configures it to display check boxes with two or three states.
Top
  Name Description
Public property AutoSizeMode Gets or sets the mode by which the column automatically adjusts its width. (Inherited from DataGridViewColumn.)
Public property CellTemplate Gets or sets the template used to create new cells. (Overrides DataGridViewColumn.CellTemplate.)
Public property CellType Gets the run-time type of the cell template. (Inherited from DataGridViewColumn.)
Public property ContextMenuStrip Gets or sets the shortcut menu for the column. (Inherited from DataGridViewColumn.)
Public property DataGridView Gets the DataGridView control associated with this element. (Inherited from DataGridViewElement.)
Public property DataPropertyName Gets or sets the name of the data source property or database column to which the DataGridViewColumn is bound. (Inherited from DataGridViewColumn.)
Public property DefaultCellStyle Gets or sets the column's default cell style. (Overrides DataGridViewColumn.DefaultCellStyle.)
Public property DefaultHeaderCellType Gets or sets the run-time type of the default header cell. (Inherited from DataGridViewBand.)
Public property Displayed Gets a value indicating whether the band is currently displayed onscreen. (Inherited from DataGridViewBand.)
Public property DisplayIndex Gets or sets the display order of the column relative to the currently displayed columns. (Inherited from DataGridViewColumn.)
Public property DividerWidth Gets or sets the width, in pixels, of the column divider. (Inherited from DataGridViewColumn.)
Public property FalseValue Gets or sets the underlying value corresponding to a cell value of false, which appears as an unchecked box.
Public property FillWeight Gets or sets a value that represents the width of the column when it is in fill mode relative to the widths of other fill-mode columns in the control. (Inherited from DataGridViewColumn.)
Public property FlatStyle Gets or sets the flat style appearance of the check box cells.
Public property Frozen Gets or sets a value indicating whether a column will move when a user scrolls the DataGridView control horizontally. (Inherited from DataGridViewColumn.)
Public property HasDefaultCellStyle Gets a value indicating whether the DefaultCellStyle property has been set. (Inherited from DataGridViewBand.)
Public property HeaderCell Gets or sets the DataGridViewColumnHeaderCell that represents the column header. (Inherited from DataGridViewColumn.)
Protected property HeaderCellCore Gets or sets the header cell of the DataGridViewBand. (Inherited from DataGridViewBand.)
Public property HeaderText Gets or sets the caption text on the column's header cell. (Inherited from DataGridViewColumn.)
Public property IndeterminateValue Gets or sets the underlying value corresponding to an indeterminate or null cell value, which appears as a disabled checkbox.
Public property Index Gets the relative position of the band within the DataGridView control. (Inherited from DataGridViewBand.)
Public property InheritedAutoSizeMode Gets the sizing mode in effect for the column. (Inherited from DataGridViewColumn.)
Public property InheritedStyle Gets the cell style currently applied to the column. (Inherited from DataGridViewColumn.)
Public property IsDataBound Gets a value indicating whether the column is bound to a data source. (Inherited from DataGridViewColumn.)
Protected property IsRow Gets a value indicating whether the band represents a row. (Inherited from DataGridViewBand.)
Public property MinimumWidth Gets or sets the minimum width, in pixels, of the column. (Inherited from DataGridViewColumn.)
Public property Name Gets or sets the name of the column. (Inherited from DataGridViewColumn.)
Public property ReadOnly Gets or sets a value indicating whether the user can edit the column's cells. (Inherited from DataGridViewColumn.)
Public property Resizable Gets or sets a value indicating whether the column is resizable. (Inherited from DataGridViewColumn.)
Public property Selected Gets or sets a value indicating whether the band is in a selected user interface (UI) state. (Inherited from DataGridViewBand.)
Public property Site Infrastructure. Gets or sets the site of the column. (Inherited from DataGridViewColumn.)
Public property SortMode Gets or sets the sort mode for the column. (Inherited from DataGridViewColumn.)
Public property State Gets the user interface (UI) state of the element. (Inherited from DataGridViewElement.)
Public property Tag Gets or sets the object that contains data to associate with the band. (Inherited from DataGridViewBand.)
Public property ThreeState Gets or sets a value indicating whether the hosted check box cells will allow three check states rather than two.
Public property ToolTipText Gets or sets the text used for ToolTips. (Inherited from DataGridViewColumn.)
Public property TrueValue Gets or sets the underlying value corresponding to a cell value of true, which appears as a checked box.
Public property ValueType Gets or sets the data type of the values in the column's cells. (Inherited from DataGridViewColumn.)
Public property Visible Gets or sets a value indicating whether the column is visible. (Inherited from DataGridViewColumn.)
Public property Width Gets or sets the current width of the column. (Inherited from DataGridViewColumn.)
Top
  Name Description
Public method Clone Creates an exact copy of this band. (Inherited from DataGridViewColumn.)
Public method Dispose() Releases all resources used by the DataGridViewBand. (Inherited from DataGridViewBand.)
Protected method Dispose(Boolean) Releases the unmanaged resources used by the DataGridViewBand and optionally releases the managed resources. (Inherited from DataGridViewColumn.)
Public method Equals(Object) Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected method Finalize Releases the resources associated with the band. (Inherited from DataGridViewBand.)
Public method GetHashCode Serves as a hash function for a particular type. (Inherited from Object.)
Public method GetPreferredWidth Calculates the ideal width of the column based on the specified criteria. (Inherited from DataGridViewColumn.)
Public method GetType Gets the Type of the current instance. (Inherited from Object.)
Protected method MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Protected method OnDataGridViewChanged Called when the band is associated with a different DataGridView. (Inherited from DataGridViewBand.)
Protected method RaiseCellClick Raises the DataGridView.CellClick event. (Inherited from DataGridViewElement.)
Protected method RaiseCellContentClick Raises the DataGridView.CellContentClick event. (Inherited from DataGridViewElement.)
Protected method RaiseCellContentDoubleClick Raises the DataGridView.CellContentDoubleClick event. (Inherited from DataGridViewElement.)
Protected method RaiseCellValueChanged Raises the DataGridView.CellValueChanged event. (Inherited from DataGridViewElement.)
Protected method RaiseDataError Raises the DataGridView.DataError event. (Inherited from DataGridViewElement.)
Protected method RaiseMouseWheel Raises the Control.MouseWheel event. (Inherited from DataGridViewElement.)
Public method ToString Gets a string that describes the column. (Overrides DataGridViewColumn.ToString().)
Top
  Name Description
Public event Disposed Occurs when the DataGridViewColumn is disposed. (Inherited from DataGridViewColumn.)
Top

The DataGridViewCheckBoxColumn class is a specialized type of the DataGridViewColumn class used to logically host cells that indicate binary state. A DataGridViewCheckBoxColumn has an associated DataGridViewCheckBoxCell in every DataGridViewRow that intersects it. Each cell supplies a user interface (UI) that is similar to a CheckBox control.

The default sort mode for this column type is NotSortable.

Typically, check box cell values are intended either for storage, like any other data, or for performing bulk operations. If you want to respond immediately when users click a check box cell, you can handle the DataGridView.CellContentClick event, but this event occurs before the cell value is updated. If you need the new value at the time of the click, one option is to calculate what the expected value will be based on the current value. Another approach is to commit the change immediately, and handle the DataGridView.CellValueChanged event to respond to it. To commit the change when the cell is clicked, you must handle the DataGridView.CurrentCellDirtyStateChanged event. In the handler, if the current cell is a check box cell, call the DataGridView.CommitEdit method and pass in the Commit value.

Notes to Inheritors

When you derive from DataGridViewCheckBoxColumn and add new properties to the derived class, be sure to override the Clone method to copy the new properties during cloning operations. You should also call the base class's Clone method so that the properties of the base class are copied to the new cell.

The following code example demonstrates how to use a DataGridViewCheckBoxColumn to mark which employees are out of the office. This example is part of a larger example available in the DataGridViewComboBoxColumn class overview topic.


private void AddOutOfOfficeColumn()
{
    DataGridViewCheckBoxColumn column = new DataGridViewCheckBoxColumn();
    {
        column.HeaderText = ColumnName.OutOfOffice.ToString();
        column.Name = ColumnName.OutOfOffice.ToString();
        column.AutoSizeMode = 
            DataGridViewAutoSizeColumnMode.DisplayedCells;
        column.FlatStyle = FlatStyle.Standard;
        column.ThreeState = true;
        column.CellTemplate = new DataGridViewCheckBoxCell();
        column.CellTemplate.Style.BackColor = Color.Beige;
    }

    DataGridView1.Columns.Insert(0, column);
}


.NET Framework

Supported in: 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ
change checked value onclick
$0
        private void DataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex == -1) return;
            if (e.ColumnIndex == 0)
            {
                if (DataGridView1.Rows[e.RowIndex].Cells[0].Value == null)
                {
                    DataGridView1.Rows[e.RowIndex].Cells[0].Value = true;
                }
                else
                {
                    bool bChecked = (bool)DataGridView1.Rows[e.RowIndex].Cells[0].Value;
                    DataGridView1.Rows[e.RowIndex].Cells[0].Value = !bChecked;
                }
            }
        }
$0