Edit this page

GridViewCheckBoxColumn

GridViewCheckBoxColumn displays and allows editing of boolean data. The values are shown as check boxes and allow the user to set or clear the check boxes to toggle the underlying boolean data values. GridViewCheckBoxColumn inherits from GridViewDataColumn.

gridview-columns-gridviewcheckboxcolumn 001

Create and add GridViewCheckBoxColumn

GridViewCheckBoxColumn checkBoxColumn = new GridViewCheckBoxColumn();
checkBoxColumn.DataType = typeof(int);
checkBoxColumn.Name = "DiscontinuedColumn";
checkBoxColumn.FieldName = "Discontinued";
checkBoxColumn.HeaderText = "Discontinued?";
radGridView1.MasterTemplate.Columns.Add(checkBoxColumn);

Dim checkBoxColumn As New GridViewCheckBoxColumn()
checkBoxColumn.DataType = GetType(Integer)
checkBoxColumn.Name = "DiscontinuedColumn"
checkBoxColumn.FieldName = "Discontinued"
checkBoxColumn.HeaderText = "Discontinued?"
RadGridView1.MasterTemplate.Columns.Add(checkBoxColumn)

The column has also a built-in functionality for checking all check boxes in it, via check box placed in the column header cell. By setting the EnableHeaderCheckBox property to true you will enable the embedded in the header cell RadCheckBoxElement.

checkBoxColumn.EnableHeaderCheckBox = true;

checkBoxColumn.EnableHeaderCheckBox = True

ValueChanged event

ValueChanged event can be used in particular about check box state change. You have to check the active editor type as in the example below:

void radGridView1_ValueChanged(object sender, EventArgs e)
{
    if (this.radGridView1.ActiveEditor is RadCheckBoxEditor)
    {
        Console.WriteLine(this.radGridView1.CurrentCell.RowIndex);
        Console.WriteLine(this.radGridView1.ActiveEditor.Value);
    }
}

Private Sub RadGridView1_ValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles RadGridView1.ValueChanged
    If TypeOf Me.RadGridView1.ActiveEditor Is RadCheckBoxEditor Then
        Console.WriteLine(Me.RadGridView1.CurrentCell.RowIndex)
        Console.WriteLine(Me.RadGridView1.ActiveEditor.Value)
    End If
End Sub

HeaderCellToggleStateChanged event

To handle the toggle state change of the embedded check box in the header cell you should use the HeaderCellToggleStateChanged event of RadGridView.

void radGridView1_HeaderCellToggleStateChanged(object sender, GridViewHeaderCellEventArgs e)
{
    Console.WriteLine(e.Column.Name);
    Console.WriteLine(e.State);
}

Private Sub radGridView1_HeaderCellToggleStateChanged(sender As Object, e As GridViewHeaderCellEventArgs)
    Console.WriteLine(e.Column.Name)
    Console.WriteLine(e.State)
End Sub

EditMode

The EditMode property controls when the value of the editor will be submitted to the cell. By default, the current behavior is kept (OnValidate) and the value will be submitted only when the current cell changes or the grid looses focus. The new value (OnValueChange) will submit the value immediately after the editor value changes.

checkBoxColumn.EditMode = EditMode.OnValueChange;

checkBoxColumn.EditMode = EditMode.OnValueChange

GridViewCheckBoxColumn's Properties

Property Description
ThreeState Gets or sets a value indicating whether to use a three state check-box.
DataType Gets or sets a value indicating the column's data type.
EnableHeaderCheckBox Gets or sets a value indicating whether to show embedded check-box in header cell.
Checked Gets a value indicating whether the check-box in header cell checked.
ShouldCheckDataRows This property determines whether the check-box in the header cell will be synced with the data cells.
EditMode This property determines whether changing a value of a check box will immediately be send to the cell (OnValueChange) or when the current cell is changed or the grid is being validated (OnCellChangeOrValidating).

See Also