以编程方式将值添加到网格视图页脚

时间:2016-01-17 18:06:41

标签: c# asp.net gridview footer

我有一个显示值的网格视图,我需要将一些值相加并在页脚中显示总和。如何控制总和显示的列?

让我们说,例如我的网格视图是这样的:

  

ID ---名称---商店#---销售额#   
1 Bob 123 14   
2 Joe 456 21   
3迈克818 10

所以很明显我希望我的总销售标题显示在

gvwSales.FooterRow.Cells[1].Text = "Total Sales";
gvwSales.FooterRow.Cells[4].Text = SUM(#ofSales);

但是这个逻辑并没有将信息添加到我的页脚。如何使用此逻辑(或任何其他逻辑)来控制数据添加到网格视图页脚的位置?

修改 我的?与建议的副本不同,因为他们想在最后一列中添加Sum,我想在页脚中添加总和。

1 个答案:

答案 0 :(得分:1)

这就是我最终做到的。如果需要,我可以提供进一步的语法,但我认为这将说明我是如何实现这一目标的。

protected void gvwSales_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        decimal tmptotalsales = Convert.ToDecimal(DataBinder.Eval(e.Row.DataItem, "totalsales").ToString());
        GrandTotalSales += tmptotalsales; 
    }      
    if (e.Row.RowType == DataControlRowType.Footer)
    {
        e.Row.Cells[0].Font.Bold = true;
        e.Row.Cells[3].Font.Bold = true;
        e.Row.Cells[0].HorizontalAlign = HorizontalAlign.Center;
        e.Row.Cells[3].HorizontalAlign = HorizontalAlign.Center;
        e.Row.Cells[0].Text = "Total Sales";
        e.Row.Cells[3].Text = GrandTotalSales.ToString("F");
    }
}