C1FlexGrid is a grid control for creating user-friendly interfaces that display, edit, format, organize, summarize, and print tabular data.

This blog deals with yet another utility implementation of C1FlexGrid for Winforms.

It guides the user on how to calculate the sum of the selected cells in a column & display the same in the respective column's header using the Grid's SelChange & AfterSelChange events.

Calculate the Sum

In the SelChange event of C1FlexGrid, we will retrieve the respective column's Caption and Index & will loop through the number of selected cells in this column. Thereby, we will calculate the sum of the contents in this selection.

private void c1FlexGrid1_SelChange(object sender, EventArgs e)
   total = null;

   //Get the respective Column's Caption & Index
   if (col_index == -1)
   col_name = c1FlexGrid1.Cols[c1FlexGrid1.Col].Caption;

   else if (c1FlexGrid1.Col != col_index)
      c1FlexGrid1.Cols[col_index].Caption = col_name;
      col_name = c1FlexGrid1.Cols[c1FlexGrid1.Col].Caption;
   col_index = c1FlexGrid1.Col;

   double sum_of_cells = 0;

   //Calculate the Sum of the Selection
   if (c1FlexGrid1.Cols[c1FlexGrid1.Col].DataType != System.Type.GetType("System.String"))
      for (int i = c1FlexGrid1.Row; i <= c1FlexGrid1.RowSel; i++)
      sum_of_cells = sum_of_cells + Convert.ToDouble(c1FlexGrid1[i, c1FlexGrid1.Col]);
      MessageBox.Show("String Column!!!!!!!");
   total = col_name + " - SUM : " + sum_of_cells;

Display the Sum

After calculating the sum, we will display the sum in the respective Column's Header using the AfterSelChange event of the Grid.

The resultant output will be displayed as the Column's Caption.

private void c1FlexGrid1_AfterSelChange(object sender, C1.Win.C1FlexGrid.RangeEventArgs e)
    //Display the Sum in column Header
    c1FlexGrid1.Cols[c1FlexGrid1.Col].Caption = total;

Click the image below for a better understanding of the behavior.


Please refer to the attached samples for complete implementation.

Download Sample CS
Download Sample VB