Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added DataGridWithCheckBoxColumn.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
56 changes: 54 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,54 @@
# How to set CheckBox value based on the value change of another CheckBox column in winforms datagrid?
This example illustrates how to set CheckBox value based on the value change of another CheckBox column in winforms datagrid
# How to Set Checkbox Value Based on the Value Change on Another Checkbox Column in WinForms DataGrid?

This example illustrates how to set CheckBox value based on the value change on another CheckBox column in [WinForms DataGrid](https://www.syncfusion.com/winforms-ui-controls/datagrid) (SfDataGrid).

You can set the value for a check box in one check box column when enabling or disabling it in another check box column using the [SfDataGrid.CellCheckBoxClick](https://help.syncfusion.com/cr/windowsforms/Syncfusion.WinForms.DataGrid.SfDataGrid.html#Syncfusion_WinForms_DataGrid_SfDataGrid_CellCheckBoxClick) and [SfDataGrid.CurrentCellActivating](https://help.syncfusion.com/cr/windowsforms/Syncfusion.WinForms.DataGrid.SfDataGrid.html#Syncfusion_WinForms_DataGrid_SfDataGrid_CurrentCellActivating) events.

#### C#

``` csharp
this.sfDataGrid1.CellCheckBoxClick += sfDataGrid1_CellCheckBoxClick;
this.sfDataGrid1.CurrentCellActivating += sfDataGrid1_CurrentCellActivating;

void sfDataGrid1_CurrentCellActivating(object sender, CurrentCellActivatingEventArgs e)
{
if (e.DataColumn.GridColumn.MappingName == "ClosedStatus")
e.Cancel = true;
}

void sfDataGrid1_CellCheckBoxClick(object sender, CellCheckBoxClickEventArgs e)
{
if (e.Column.MappingName == "ClosedStatus")
e.Cancel = true;

if (e.Column.MappingName == "IsClosed")
{
(e.Record as OrderInfo).ClosedStatus = e.NewValue == CheckState.Checked;
}
}
```

#### VB

``` vb
AddHandler Me.sfDataGrid1.CellCheckBoxClick, AddressOf sfDataGrid1_CellCheckBoxClick
AddHandler Me.sfDataGrid1.CurrentCellActivating, AddressOf sfDataGrid1_CurrentCellActivating

Private Sub sfDataGrid1_CurrentCellActivating(ByVal sender As Object, ByVal e As CurrentCellActivatingEventArgs)
If e.DataColumn.GridColumn.MappingName = "ClosedStatus" Then
e.Cancel = True
End If
End Sub

Private Sub sfDataGrid1_CellCheckBoxClick(ByVal sender As Object, ByVal e As CellCheckBoxClickEventArgs)
If e.Column.MappingName = "ClosedStatus" Then
e.Cancel = True
End If

If e.Column.MappingName = "IsClosed" Then
TryCast(e.Record, OrderInfo).ClosedStatus = e.NewValue = CheckState.Checked
End If
End Sub
```

![Checkbox updates another based on value change](DataGridWithCheckBoxColumn.png)