DataGrid

New Check Box Selector Column in WinForms DataGrid

We are pleased to introduce check box selection column support in our 2020 Volume 1 release for the WinForms DataGrid. This feature will help you select or deselect rows by interacting with check boxes in a column.

In this blog, we are going to see how to use a check box selector column in a data grid.

Adding check box selector column

You can add a check box selector column to the DataGrid like any other column and place this selector column anywhere in the columns collection. You can use this selector column unbound, i.e. there is no need to have any property definition in the underlying DataSource.

this.sfDataGrid.AutoGenerateColumns = true;
this.sfDataGrid.SelectionMode = GridSelectionMode.Multiple;

this.sfDataGrid.Columns.Add(new GridCheckBoxSelectorColumn() { MappingName = "SelectorColumn", HeaderText = string.Empty, AllowCheckBoxOnHeader = true, Width = 34, CheckBoxSize = new Size(14, 14) });

OrderInfoCollection collection = new OrderInfoCollection();
this.sfDataGrid.DataSource = collection.OrdersListDetails;

Select all the rows with the check box in the column header.

Check box selector column in DataGrid

Getting checked items

You can get the checked items through the DataGrid.SelectedItems property, as selection and check boxes are synchronized together.

Styling

You can customize the style of the check boxes in record cells through the CheckBoxStyle property.

this.sfDataGrid.Style.CheckBoxStyle.CheckedBorderColor = Color.DarkViolet;
this.sfDataGrid.Style.CheckBoxStyle.UncheckedBorderColor = Color.Red;
Customized check box style in the DataGrid

You can customize the style of the check box in header cells through QueryCheckBoxStyle events.

this.sfDataGrid.QueryCheckBoxCellStyle += OnSfDataGrid_QueryCheckBoxCellStyle;

private void OnSfDataGrid_QueryCheckBoxCellStyle(object sender, Syncfusion.WinForms.DataGrid.Events.QueryCheckBoxCellStyleEventArgs e)
{
    if (e.RowIndex == this.sfDataGrid.TableControl.GetHeaderIndex() && e.Column.MappingName == "SelectorColumn")
    {
        e.Style.IndeterminateBorderColor = Color.Red;
        e.Style.IndeterminateColor = Color.DarkViolet;
    }
}

Conclusion

I hope you now have a clear idea of these features and how to get started with check box row selection in the WinForms DataGrid.

To learn more, check out our UG documentation for WinForms platforms. You can download our 2020 Volume 1 release setup to check out these controls.

Check out the samples in our GitHub repositories to try these features.

If you have any questions about these controls, please let us know in the comments below. You can also contact us through our support forum, Direct-Trac, or feedback portal. We are happy to assist you!

Amal Raj Umapathy Selvam

Amal Raj is a Product Lead at Syncfusion. He is a .NET developer with a degree in Information Technology. His area of expertise is providing solutions for WinForms and WPF applications.