Display sum the values of the datagridview cell columns in datagridview cell row footer.

In this blog we will know how to display sum the values of the datagridview cell columns in datagridview cell row footer.



App.config

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
        <add key="dsn" value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=..\EMP.mdb" />
    </appSettings>
</configuration>


Form1.cs

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;
namespace Sum_datagridview_cell_row_footer
{
    public partial class Form1 : Form
    {
        string ConnectionString = System.Configuration.ConfigurationSettings.AppSettings["dsn"];
        OleDbCommand com;
        OleDbDataAdapter oledbda;
        DataSet ds;
        string str;

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            bindgrid();
        }
        private void bindgrid()
        {
            OleDbConnection con = new OleDbConnection(ConnectionString);
            con.Open();
            str = "select * from product";
            com = new OleDbCommand(str, con);
            oledbda = new OleDbDataAdapter(com);
            ds = new DataSet();
            oledbda.Fill(ds, "product");
            dataGridView1.DataMember = "product";
            dataGridView1.DataSource = ds;
            con.Close();
            dataGridView1[0, dataGridView1.Rows.Count - 1].Value = "Total Sum";
            dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells[0].Style.BackColor = Color.Yellow;
            dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells[1].Style.ForeColor = Color.Red;
        }

        private void dataGridView1_DataSourceChanged(object sender, EventArgs e)
        {
            int sum = 0;

            for (int i = 0; i < dataGridView1.Rows.Count - 1; i++)
            {

                if (dataGridView1[1, i].Value != DBNull.Value)
                    sum += (int)dataGridView1[1, i].Value;
            }
            dataGridView1[1, dataGridView1.Rows.Count - 1].Value = sum;
        }

    }
}