| v | v | Item |
| v | v | Item 1 |
| v | v | Item 2 |
Thanks.
|
this.sfDataGrid1.CellCheckBoxClick += sfDataGrid1_CellCheckBoxClick;
this.sfDataGrid1.CurrentCellActivating += sfDataGrid1_CurrentCellActivating;
private void sfDataGrid1_CurrentCellActivating(object sender, CurrentCellActivatingEventArgs e)
{
if (e.DataColumn.GridColumn.MappingName == "IsClosed1")
e.Cancel = true;
}
private void sfDataGrid1_CellCheckBoxClick(object sender, CellCheckBoxClickEventArgs e)
{
if (e.Column.MappingName == "IsClosed1")
e.Cancel = true;
if (e.Column.MappingName == "IsClosed" && e.Record != null )
{
(e.Record as OrderInfo).IsClosed1 = e.NewValue == CheckState.Checked;
}
} |
Hi Sessame,
Thank you for using Syncfusion Controls.
You can achieve your requirement by SfDataGrid.CellCheckBoxClick and SfDataGrid.CurrentCellActivating events like below,
this.sfDataGrid1.CellCheckBoxClick += sfDataGrid1_CellCheckBoxClick;this.sfDataGrid1.CurrentCellActivating += sfDataGrid1_CurrentCellActivating;private void sfDataGrid1_CurrentCellActivating(object sender, CurrentCellActivatingEventArgs e){if (e.DataColumn.GridColumn.MappingName == "IsClosed1")e.Cancel = true;}private void sfDataGrid1_CellCheckBoxClick(object sender, CellCheckBoxClickEventArgs e){if (e.Column.MappingName == "IsClosed1")e.Cancel = true;if (e.Column.MappingName == "IsClosed" && e.Record != null ){(e.Record as OrderInfo).IsClosed1 = e.NewValue == CheckState.Checked;}}
We have prepared the sample for the same,
Sample link: https://www.syncfusion.com/downloads/support/directtrac/159734/ze/CheckBox_Changed1015224744Please refer the below KB for more information’s,
Regards,
Dhanasekar Mohanraj.

|
FirstLevelNestedGrid.CellCheckBoxClick += FirstLevelNestedGrid_CellCheckBoxClick;
FirstLevelNestedGrid.CurrentCellActivating += FirstLevelNestedGrid_CurrentCellActivating;
private void FirstLevelNestedGrid_CurrentCellActivating(object sender, Syncfusion.WinForms.DataGrid.Events.CurrentCellActivatingEventArgs e) {
if (e.DataColumn.GridColumn.MappingName == "IsClosed1")
e.Cancel = true;
}
private void FirstLevelNestedGrid_CellCheckBoxClick(object sender, Syncfusion.WinForms.DataGrid.Events.CellCheckBoxClickEventArgs e)
{
var records = ((e.OriginalSender as DetailsViewDataGrid).DataSource) as List<OrderDetails>;
var grid = e.OriginalSender as DetailsViewDataGrid;
if (e.Record == null && e.Column.MappingName == "IsClosed")
{
if (e.NewValue.ToString() == "Checked")
{
(grid.Columns["IsClosed1"] as GridCheckBoxColumn).GetType().GetProperty("HeaderState", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic).SetValue(grid.Columns["IsClosed1"] as GridCheckBoxColumn, CheckState.Checked);
}
else
{
(grid.Columns["IsClosed1"] as GridCheckBoxColumn).GetType().GetProperty("HeaderState", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic).SetValue(grid.Columns["IsClosed1"] as GridCheckBoxColumn, CheckState.Unchecked);
}
for (int i = 0; i < records.Count; i++)
{
if (e.NewValue.ToString() == "Checked")
{
(records[i] as OrderDetails).IsClosed1 = true;
}
else
{
(records[i] as OrderDetails).IsClosed1 = false;
}
}
}
if (e.Column.MappingName == "IsClosed1")
e.Cancel = true;
if (e.Column.MappingName == "IsClosed" && e.Record != null)
{
(e.Record as OrderDetails).IsClosed1 = e.NewValue == CheckState.Checked;
}
} |
Hi sessame,
Thank you for your patience.
You can achieve your requirement by setting the HeaderState of the CheckBoxColumn like below,
FirstLevelNestedGrid.CellCheckBoxClick += FirstLevelNestedGrid_CellCheckBoxClick;FirstLevelNestedGrid.CurrentCellActivating += FirstLevelNestedGrid_CurrentCellActivating;
private void FirstLevelNestedGrid_CurrentCellActivating(object sender, Syncfusion.WinForms.DataGrid.Events.CurrentCellActivatingEventArgs e){if (e.DataColumn.GridColumn.MappingName == "IsClosed1")e.Cancel = true;}private void FirstLevelNestedGrid_CellCheckBoxClick(object sender, Syncfusion.WinForms.DataGrid.Events.CellCheckBoxClickEventArgs e){var records = ((e.OriginalSender as DetailsViewDataGrid).DataSource) as List<OrderDetails>;var grid = e.OriginalSender as DetailsViewDataGrid;if (e.Record == null && e.Column.MappingName == "IsClosed"){if (e.NewValue.ToString() == "Checked"){(grid.Columns["IsClosed1"] as GridCheckBoxColumn).GetType().GetProperty("HeaderState", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic).SetValue(grid.Columns["IsClosed1"] as GridCheckBoxColumn, CheckState.Checked);}else{(grid.Columns["IsClosed1"] as GridCheckBoxColumn).GetType().GetProperty("HeaderState", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic).SetValue(grid.Columns["IsClosed1"] as GridCheckBoxColumn, CheckState.Unchecked);}for (int i = 0; i < records.Count; i++){if (e.NewValue.ToString() == "Checked"){(records[i] as OrderDetails).IsClosed1 = true;}else{(records[i] as OrderDetails).IsClosed1 = false;}}}if (e.Column.MappingName == "IsClosed1")e.Cancel = true;if (e.Column.MappingName == "IsClosed" && e.Record != null){(e.Record as OrderDetails).IsClosed1 = e.NewValue == CheckState.Checked;}}
We have prepared the sample for the same,
Sample link: https://www.syncfusion.com/downloads/support/forum/159734/ze/HeaderState_Checkbox-1926003476We hope it helps, please let us know if you need further assistance.
Regards,
Dhanasekar Mohanraj.