Hi JanviDarji,
Check this example. Now please take its reference and correct your code.
HTML
<asp:GridView ID="GridView1" ShowFooter="true" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:BoundField DataField="Name" HeaderText="Product Name" />
<asp:BoundField DataField="Quantity" HeaderText="Quantity" />
<asp:BoundField DataField="Price" HeaderText="Price(Rs.)" />
<asp:BoundField DataField="Total" HeaderText="Total Price(Rs.)" />
</Columns>
</asp:GridView>
Namespaces
C#
using System.Data;
VB.Net
Imports System.Data
Code
C#
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
GetData();
BindgridView();
}
}
private void BindgridView()
{
DataTable dt = Session["dtInSession"] as DataTable;
GridView1.DataSource = dt;
GridView1.DataBind();
decimal total = dt.AsEnumerable().Sum(row => Convert.ToDecimal(row["Total"]));
GridView1.FooterRow.Cells[2].Text = "Grand Total(Rs.)";
GridView1.FooterRow.Cells[3].Text = total.ToString("N2");
}
private void GetData()
{
DataTable dt = new DataTable();
dt.Columns.AddRange(new DataColumn[4] {
new DataColumn("Name"),
new DataColumn("Quantity"),
new DataColumn("Price"),
new DataColumn("Total") });
dt.Rows.Add("Product 1", 5, 150, 750);
dt.Rows.Add("Product 2", 8, 100, 800);
dt.Rows.Add("Product 3", 12, 120, 1440);
dt.Rows.Add("Product 4", 15, 80, 1200);
Session["dtInSession"] = dt;
}
VB.Net
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
If Not Me.IsPostBack Then
GetData()
BindgridView()
End If
End Sub
Private Sub BindgridView()
Dim dt As DataTable = TryCast(Session("dtInSession"), DataTable)
GridView1.DataSource = dt
GridView1.DataBind()
Dim total As Decimal = dt.AsEnumerable().Sum(Function(row) Convert.ToDecimal(row("Total")))
GridView1.FooterRow.Cells(2).Text = "Grand Total(Rs.)"
GridView1.FooterRow.Cells(3).Text = total.ToString("N2")
End Sub
Private Sub GetData()
Dim dt As DataTable = New DataTable()
dt.Columns.AddRange(New DataColumn(3) {
New DataColumn("Name"),
New DataColumn("Quantity"),
New DataColumn("Price"),
New DataColumn("Total")})
dt.Rows.Add("Product 1", 5, 150, 750)
dt.Rows.Add("Product 2", 8, 100, 800)
dt.Rows.Add("Product 3", 12, 120, 1440)
dt.Rows.Add("Product 4", 15, 80, 1200)
Session("dtInSession") = dt
End Sub
Screenshot
