如何在网格视图中获取特定列的总和?

时间:2018-10-01 05:28:16

标签: c# asp.net gridview

我想在网格视图中显示特定列的总和,并将其显示在该列的顶部。   注意:数据来自数据库。 这是我的gridview

 <asp:GridView ID="SalesSummaryGrid" OnPageIndexChanging="SalesSummaryGrid_PageIndexChanging" OnRowDataBound="SalesSummaryGrid_RowDataBound" 
                        PageSize="10" CssClass="mydatagrid" HeaderStyle-CssClass="header"  RowStyle-CssClass="rows"
                      PagerStyle-CssClass="pager" AllowPaging="true" runat="server" AutoGenerateColumns="false">
                       <Columns>
                          <asp:TemplateField HeaderText="Apr">
                             <ItemTemplate>
                                <asp:Label ID="AprMonth" runat="server" Text='<%# Eval("Apr") %>' CssClass="labelstyle"></asp:Label>
                             </ItemTemplate>
                          </asp:TemplateField>
                       <Columns>
            </asp:GridView>

1 个答案:

答案 0 :(得分:3)

在用于页脚的RowDataBound中,可以在GridView的HeaderRow上执行FindControl,以在页眉中查找标签。然后,您可以设置这些值。

foreach (GridViewRow gvr in GridView4.Rows) {
    if (gvr.RowType == DataControlRowType.DataRow) {
        decimal fee = Convert.ToDecimal(gvr.Cells(5).Text);
        feeFooter += fee;
    }
}
GridView4.Columns(3).HeaderText = feeFooter;

来源:https://forums.asp.net/t/1812651.aspx?GridView+Totals+in+Header