column name DataType
-----------------------------------------------
id number
empname varchar(50)
salary number
In Soucrce code .aspx page
create a Template in gridvew to display Data as follows in between the <asp:Gridview>and </asp:Gridview><asp:GridView ID="GridView1" runat="server" Style="z-index: 100; left: 271px; position: absolute; top: 68px" AutoGenerateColumns="False" Height="165px" ShowFooter="True" CellPadding="4" ForeColor="Black" GridLines="Vertical" Width="229px" BackColor="White" BorderColor="#DEDFDE" BorderStyle="None" BorderWidth="1px"> <Columns> <asp:TemplateField HeaderText="ID"> <ItemTemplate> <asp:Label ID="idlbl" runat="server" Text='<%#DataBinder.Eval(Container.DataItem,"id")%>'></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="NAME"> <ItemTemplate> <asp:Label ID="namelbl" runat="server" Text-Align="right" Text='<%#DataBinder.Eval(Container.DataItem,"empname")%>'></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="SALARY"> <ItemTemplate> <asp:Label ID="sal1" runat="server" Text='<%#DataBinder.Eval(Container.DataItem,"salary")%>'></asp:Label> </ItemTemplate> </asp:TemplateField> </Columns> <FooterStyle BackColor="#CCCC99" /> <RowStyle BackColor="#F7F7DE" /> <SelectedRowStyle BackColor="#CE5D5A" Font-Bold="True" ForeColor="White" /> <PagerStyle ForeColor="Black" HorizontalAlign="Right" BackColor="#F7F7DE" /> <HeaderStyle BackColor="#6B696B" Font-Bold="True" ForeColor="White" /> <AlternatingRowStyle BackColor="White" /> </asp:GridView>
write a code for display data in grdview:
in aspx.cs:protected void Page_Load(object sender, EventArgs e) {SqlConnection conn = new SqlConnection("connectionstring"); conn.Open(); SqlDataAdapter ad = new SqlDataAdapter("select * from emp", conn); DataSet ds = new DataSet(); ad.Fill(ds, "emp"); GridView1.DataSource = ds.Tables[0]; GridView1.DataBind();}
Below is the simple output Image of a gridview:
Now we have calculate the Total Salary then have to dispaly Total Salary at the Bottom of the Gridview.By using <FooterTemplate><FooterTemplate> is used for the Last Line of our OutPut. eg:
<FooterTemplate>Last Line_outPut </FooterTemplate>
NOTE:If we are using footer template we have to set ShowFooter Property as True by selecting the datagrid.
In this Example I am going to calculate the sum of Salary column.This sum should be displayed in the salary column LastLine(bottom of the salary column).
I am using a method name as gettotal().here i am calculating the total salarys of employes.
public int gettotal() {Next we have to use this gettotal () method in <FooterTemplate> <FooterTemplate><%# gettotal()%></FooterTemplate>SqlConnection conn = new SqlConnection("connectionstring"); conn.Open(); SqlCommand cmd = new SqlCommand("SELECT SUM(salary) FROM emp", conn); int totalsal = Convert.ToInt32(cmd.ExecuteScalar()); return totalsal;}
here <%# gettotal()%> will cal the gettotal() in aspx.cs page
we have to write use this FooterTemplate where we want a lastline output. Here I am using this FooterTemplate in salary column.
eg:
<asp:TemplateField HeaderText="SALARY"> <ItemTemplate> <asp:Label ID="sal1" runat="server" Text='<%#DataBinder.Eval(Container.DataItem,"salary")%>'></asp:Label> </ItemTemplate> <FooterTemplate> <%# gettotal()%> </FooterTemplate> </asp:TemplateField>
See the output Image
The aspx.page will look like as follows:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_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 id="Head1" runat="server"> <title>Untitled Page</title> </head> <body> <form id="form1" runat="server"> <div> <asp:GridView ID="GridView1" runat="server" Style="z-index: 100; left: 271px; position: absolute; top: 68px" AutoGenerateColumns="False" Height="165px" ShowFooter="True" CellPadding="4" ForeColor="Black" GridLines="Vertical" Width="229px" BackColor="White" BorderColor="#DEDFDE" BorderStyle="None" BorderWidth="1px"> <Columns> <asp:TemplateField HeaderText="ID"> <ItemTemplate> <asp:Label ID="idlbl" runat="server" Text='<%#DataBinder.Eval(Container.DataItem,"id")%>'></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="NAME"> <ItemTemplate> <asp:Label ID="namelbl" runat="server" Text='<%#DataBinder.Eval(Container.DataItem,"empname")%>'></asp:Label> </ItemTemplate> <FooterTemplate> <asp:Label ID="namelbl" runat="server" Text="Total"></asp:Label> </FooterTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="SALARY"> <ItemTemplate> <asp:Label ID="sal1" runat="server" Text='<%#DataBinder.Eval(Container.DataItem,"salary")%>'></asp:Label> </ItemTemplate> <FooterTemplate> <%# gettotal()%> </FooterTemplate> </asp:TemplateField> </Columns> <FooterStyle BackColor="#CCCC99" /> <RowStyle BackColor="#F7F7DE" /> <SelectedRowStyle BackColor="#CE5D5A" Font-Bold="True" ForeColor="White" /> <PagerStyle ForeColor="Black" HorizontalAlign="Right" BackColor="#F7F7DE" /> <HeaderStyle BackColor="#6B696B" Font-Bold="True" ForeColor="White" /> <AlternatingRowStyle BackColor="White" /> </asp:GridView> </div> </form> </body> </html>the complete asp.cs page is:
protected void Page_Load(object sender, EventArgs e) {SqlConnection conn = new SqlConnection("connectionstring"); conn.Open(); SqlDataAdapter ad = new SqlDataAdapter("select * from emp", conn); DataSet ds = new DataSet(); ad.Fill(ds, "emp"); GridView1.DataSource = ds.Tables[0]; GridView1.DataBind(); gettotal();} public int gettotal() {SqlConnection conn = new SqlConnection("connectionstring"); conn.Open(); SqlCommand cmd = new SqlCommand("SELECT SUM(salary) FROM emp", conn); int totalsal = Convert.ToInt32(cmd.ExecuteScalar()); return totalsal;}
No comments:
Post a Comment