【问题标题】:Programmatically Add Values To Grid View Footer以编程方式将值添加到网格视图页脚
【发布时间】:2016-04-22 20:36:34
【问题描述】:

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

假设我的网格视图看起来像这样:

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

显然我希望我的总销售额标题显示在

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

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

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

【问题讨论】:

  • @SteveWellens - 我可能会错过它,但这显示了如何以编程方式设置页脚文本。我需要知道如何以编程方式将列的总和添加到特定的页脚列。
  • 页脚没有列。
  • @SteveWellens - 我的?与您建议的副本不同,因为我想在页脚中添加总和,而不是在最后一列中。
  • 示例将总和放在页脚中。由于页脚没有列,因此他/她在页脚中放置了一个标签控件并将总和放在那里。

标签: c# asp.net gridview footer


【解决方案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");
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-05
    • 1970-01-01
    • 2017-10-09
    • 2017-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多