Monday, February 25, 2013

Sum of Two Columns in Gridview

In this blog I explained how to display Sum of two columns values in Gridview.
Scenario
Table structure
Create table test (id int, one int, two int)

I have 2 text box and one insert  button .on clicking to insert  button values of both the two text box got saved in database and I can display them on gridview . Now i want that there should be a 3rd column in Gridview which display the total of two numbers
Desired Output
id
one
two
Sum
1
1
2
3
2
1
1
2
3
1
4
5
4
5
5
10
5
10
10
20


<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="Sum._Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" >
   <head runat="server">  
     <title>Untitled Page</title>
   </head>
 <body> 
    <form id="form1" runat="server">  
       <div>    
       <asp:Label ID="Label1" runat="server" Text="Enter first Number" Width="150px">
       </asp:Label>
       <asp:TextBox ID="txtOne" runat="server" Width="150px"></asp:TextBox>           <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server"           ControlToValidate="txtOne" ErrorMessage="Enter first Number"></asp:RequiredFieldValidator>        <br />
     <asp:Label ID="Label2" runat="server" Text="Enter second Number" Width="150px">
     </asp:Label> 
     <asp:TextBox ID="txtTwo" runat="server" Width="150px"></asp:TextBox>           <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server"            ControlToValidate="txtTwo" ErrorMessage="Enter second Number">       </asp:RequiredFieldValidator>        <br />  
     <asp:Button ID="btn_insert" runat="server" Text="Insert"            onclick="btn_insert_Click" />    
    <asp:GridView ID="GridView1" runat="server">    
    </asp:GridView>   
    <asp:Label ID="lblmsg" runat="server" Text="Label">
    </asp:Label>     
    </div>   
 </form> 
</body>
 </html>

.CS Code


using System;
usingSystem.Collections;
usingSystem.Configuration;
usingSystem.Data; 
usingSystem.Linq; 
usingSystem.Web;
usingSystem.Web.Security; 
usingSystem.Web.UI;
usingSystem.Web.UI.HtmlControls; 
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.WebControls.WebParts; 
usingSystem.Xml.Linq;
usingSystem.Data.SqlClient;


namespace Sum
{
    public partial class _Default : System.Web.UI.Page     

    {        
      stringconnStr =    ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;        SqlCommandcom;        
      SqlDataAdaptersqlda;
      DataSetds;  
      stringstr;
      protected void Page_Load(objectsender, EventArgs e)
      {
         if(!IsPostBack)
         {
            bindgrid();
         }
     }
     private void bindgrid()
     { 
      SqlConnectioncon = new SqlConnection(connStr);
      con.Open();
      str = "select *,(one + two)as 'Sum'  from test";
      com = new SqlCommand(str, con); 
      sqlda = new SqlDataAdapter(com);
      ds = new DataSet(); 
      sqlda.Fill(ds, "test");
      GridView1.DataMember = "test"; 
      GridView1.DataSource = ds;
      GridView1.DataBind();
      con.Close();
     }
     protected void btn_insert_Click(objectsender, EventArgs e)
     {       
       SqlConnectioncon = new SqlConnection(connStr);
       com = new SqlCommand();  
       com.Connection = con;  
       com.CommandType = CommandType.Text;
       com.CommandText = "insert into test values(@one,@two)";
       com.Parameters.Clear();
       com.Parameters.AddWithValue("@one", txtOne.Text);
       com.Parameters.AddWithValue("@two", txtTwo.Text);
       if(con.State == ConnectionState.Closed)
       con.Open();
       com.ExecuteNonQuery();
       con.Close();
       lblmsg.Text = "Data entered successfully!!!";
       clear();
       bindgrid();
     }   
     private void clear()
     {
        txtOne.Text = ""; 
        txtTwo.Text = "";
     } 
 } 
} 

No comments:

Post a Comment