Share on twitter
Share on facebook
Share on linkedin
Easily Calculate Summary of Selected Rows with WinForms DataGrid

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!

Tags:

Share this post:

Share on twitter
Share on facebook
Share on linkedin

Leave a comment

Popular Now

Be the first to get updates

Subscribe RSS feed
Scroll To Top