We are happy to announce that in our Essential Studio® 2020 Volume 1 beta release, we added summary calculation for selected rows in the WinForms DataGrid control. This blog provides a walk-through of how to calculate summaries for selected rows and how to use the available options.
The DataGrid allows users to calculate summaries for:
- Selected rows.
- All rows.
- All rows until rows are selected (mixed rows).
The SummaryCalculationUnit enumeration is used to perform these operations.
To calculate a summary of selected rows in the DataGrid, set the SfDataGrid.SummaryCalculationUnit property to SelectedRows.
In the following code example, a summary is calculated for group caption summary rows. This summary calculation support is available for both group and table summary rows too.
this.sfDataGrid.SummaryCalculationUnit = Syncfusion.Data.SummaryCalculationUnit.SelectedRows; this.sfDataGrid.SelectionMode = GridSelectionMode.Multiple; this.sfDataGrid.AutoGenerateColumns = true; SalesInfoCollection sales = new SalesInfoCollection(); sfDataGrid.DataSource = sales.YearlySalesDetails;
A summary row can also be considered while calculating the summary.
this.sfDataGrid.CaptionSummaryRow = new GridSummaryRow() { Name = "CaptionSummary", ShowSummaryInRow = false, CalculationUnit= Syncfusion.Data.SummaryCalculationUnit.SelectedRows, Title="Sales details in {ColumnName} : {Key}", TitleColumnCount=1, SummaryColumns = new System.Collections.ObjectModel.ObservableCollection() { new GridSummaryColumn() { Name = "SQ1", SummaryType = Syncfusion.Data.SummaryType.DoubleAggregate, Format="{Sum:c}", MappingName="Q1", }, new GridSummaryColumn() { Name = "SQ2", SummaryType = Syncfusion.Data.SummaryType.DoubleAggregate, Format="{Sum:c}", MappingName="Q2", }, new GridSummaryColumn() { Name = "SQ3", SummaryType = Syncfusion.Data.SummaryType.DoubleAggregate, Format="{Sum:c}", MappingName="Q3", }, new GridSummaryColumn() { Name = "SQ4", SummaryType = Syncfusion.Data.SummaryType.DoubleAggregate, Format="{Sum:c}", MappingName="Q4", }, new GridSummaryColumn() { Name = "SQ5", SummaryType = Syncfusion.Data.SummaryType.DoubleAggregate, Format="{Sum:c}", MappingName="Total", } } };
Here, let’s use the value Mixed for the property SummaryCalculationUnit of the DataGrid to calculate a summary of the selected rows; otherwise, the summary for all rows will be calculated.
this.sfDataGrid.SummaryCalculationUnit = Syncfusion.Data.SummaryCalculationUnit.Mixed; this.sfDataGrid.SelectionMode = GridSelectionMode.Multiple; this.sfDataGrid.AutoGenerateColumns = true; SalesInfoCollection sales = new SalesInfoCollection(); sfDataGrid.DataSource = sales.YearlySalesDetails;
I hope you now understand this feature and how to calculate summaries for selected rows in the WinForms DataGrid. You can download a demo of calculating summaries for selected rows from our GitHub samples. To learn more about the summaries in the Syncfusion DataGrid, please refer to our documentation. You can download our 2020 Volume 1 beta release to check out all our new features and controls.
If you have any questions or require clarifications about this control, please let us know in the comments section. You can also contact us through our support forum, Direct-Trac, or feedback portal. We are happy to assist you!