public partial class FooterInGridview : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if ( ! IsPostBack)
{
FillRequestGrid();
}
}
protected void FillRequestGrid()
{
List<HomeAnnouncement> l1 = new List<HomeAnnouncement>();
HomeAnnouncement h1 = new HomeAnnouncement();
h1.a_1 = 2;
h1.a_1 = 1;
h1.Description = "ENG";
h1.status = 1;
h1.PURPOSE = 92.9;
HomeAnnouncement h2 = new HomeAnnouncement();
h2.a_1 = 3;
h2.a_1 = 4;
h2.Description = "PACK";
h2.status = 9;
h2.PURPOSE = 91.7;
l1.Add(h1);
l1.Add(h2); // show each lines total result:
GrdUsers.Columns[0].FooterText = "Total";
GrdUsers.Columns[1].FooterText = l1.Select(x =>x.a_1).Sum().ToString();
GrdUsers.Columns[2].FooterText = l1.Select(x => x.a_2).Sum().ToString();
GrdUsers.Columns[3].FooterText = l1.Select(x => x.status).Sum().ToString();
GrdUsers.Columns[4].FooterText = l1.Select(x => x.PURPOSE).Sum().ToString();
GrdUsers.DataSource = l1;
GrdUsers.DataBind();
}
protected void GrdUsers_PageIndexChanging1(object sender, GridViewPageEventArgs e)
{
GrdUsers.PageIndex = e.NewPageIndex;
FillRequestGrid();
}
}
internal class HomeAnnouncement
{
public string Description { get; set; }
public int a_1 { get; set; }
public int a_2 { get; set; }
public int status { get; set; }
public double PURPOSE { get; set; }
}
Result:
Best Regards,
Brando
.NET forums are moving to a new home on Microsoft Q&A, we encourage you to go to Microsoft Q&A for .NET for posting new questions and get involved today.
Member
10 Points
46 Posts
Gridview display total in footer
Oct 14, 2016 08:40 AM|kiang_yit|LINK
Hi,i need some helps,any idea on display footer in gridview?
Below are my codes :
My current data display:
https://postimg.org/image/frkgaccgx/
Contributor
7095 Points
1966 Posts
Re: Gridview display total in footer
Oct 14, 2016 11:08 AM|anuj_koundal|LINK
Hi Please check this: Display sum of columns total in gridview footer
Asp .Net Tutorials | www.codingfusion.com
Bank IFSC Codes
Ajax Control Toolkit
Star
9831 Points
3120 Posts
Re: Gridview display total in footer
Oct 15, 2016 10:55 AM|Brando ZWZ|LINK
Hi kiang_yit,
According to your description, I suggest you could set gridview's showfooter's value to true, firstly.
Then you could use select method and sum method to get the total result in each column.
More details, you could refer to follow codes and image:
<div> <asp:GridView ID="GrdUsers" runat="server" CssClass="table table-striped table-bordered table-hover" EmptyDataText="No Records Found" DataKeyNames="Description" AllowPaging="true" AutoGenerateColumns="false" AutoGenerateDeleteButton="false" RowStyle-HorizontalAlign="Left" OnPageIndexChanging="GrdUsers_PageIndexChanging1" HeaderStyle-HorizontalAlign="Center" GridLines="None" BorderWidth="2px" EditRowStyle-BorderColor="#000000" EmptyDataRowStyle-BorderStyle="Groove" PageSize="10" Width="70%" ShowFooter="true" RowStyle-CssClass="gradeX" AlternatingRowStyle-CssClass="gradeA"> <Columns> <asp:TemplateField HeaderText="Area" HeaderStyle-BackColor="#0033cc" HeaderStyle-ForeColor="White" ItemStyle-Width="15%"> <ItemTemplate> <label style="color: black; font-weight: 100"><%#DataBinder.Eval(Container.DataItem, "Description")%></label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="Total Employee" HeaderStyle-BackColor="#0033cc" HeaderStyle-ForeColor="White" ItemStyle-Width="10%"> <ItemTemplate> <label style="color: black; font-weight: bold"><%#DataBinder.Eval(Container.DataItem, "a_1")%></label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="Present" HeaderStyle-BackColor="#0033cc" HeaderStyle-ForeColor="White" ItemStyle-Width="7%"> <ItemTemplate> <label style="color: black; font-weight: 100"><%#DataBinder.Eval(Container.DataItem, "a_2")%></label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="Absent" HeaderStyle-BackColor="#0033cc" HeaderStyle-ForeColor="White" ItemStyle-Width="7%"> <ItemTemplate> <label style="color: black; font-weight: 100"><%#DataBinder.Eval(Container.DataItem, "status")%></label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="Percent of employee present(%)" HeaderStyle-BackColor="#0033cc" HeaderStyle-ForeColor="White" ItemStyle-Width="15%"> <ItemTemplate> <label style="color: black; font-weight: 100"><%#DataBinder.Eval(Container.DataItem, "PURPOSE")%></label> </ItemTemplate> </asp:TemplateField> </Columns> <PagerStyle HorizontalAlign="Right" CssClass="pagination-ys" /> </asp:GridView> </div>
Code-behind:
Result:
Best Regards,
Brando