Easily Calculate Summary of Selected Rows with WinForms DataGrid | Syncfusion Blogs
Detailed Blog page Skeleton loader
Easily Calculate Summary of Selected Rows with WinForms DataGrid

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;
Group Caption Summary Rows in DataGrid
Group Caption Summary Rows in DataGrid

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;
Calculated Summary for Mixed Rows
Calculated Summary for Mixed Rows

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!

Be the first to get updates

Amal Raj Umapathy Selvam

Meet the Author

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.