网格视图摘要

本文关键字:视图 网格 | 更新日期: 2023-09-27 18:04:55

我需要gridview摘要页脚…

 protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
 {
        decimal totalPrice = 0M;
        int totalItems = 0;
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            Label lblPrice = (Label)e.Row.FindControl("lblPrice");
            decimal price = Decimal.Parse(lblPrice.Text); 
            totalPrice += price;
            totalItems += 1; 
        }
        if (e.Row.RowType == DataControlRowType.Footer)
        {
            Label lblTotalPrice = (Label)e.Row.FindControl("lblTotalPrice");
            lblTotalPrice.Text = totalPrice.ToString(); 
        }
 }

但是它不起作用。什么好主意吗?

网格视图摘要

像这样将totalPrice和totalItems声明为全局变量

decimal totalPrice = 0M;
int totalItems = 0;
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
  {
    ...
   }

在方法范围内声明totalPrice,因此它将从每一行开始。当涉及到页脚行时,它将再次为零。至少有两个选项:

  1. 在SQL语句中包含total = sum(price)列并绑定
  2. totalPrice从您的方法移动到页面的私有字段。在在这种情况下,你的代码应该工作