我正在使用以下代码在网格视图中获取DataField="Quantity"的总和,并在网格视图页脚中显示结果

问题是HeaderText="Quantity"更改为零

protected void griddelverynote_RowDataBound(object sender, GridViewRowEventArgs e)
{
     int TotalQuantity = 0;
     if (e.Row.RowType == DataControlRowType.DataRow)
     TotalQuantity += Convert.ToInt32(DataBinder.Eval(e.Row.DataItem, "Quantity"));
     else if (e.Row.RowType == DataControlRowType.Footer)
     e.Row.Cells[1].Text = "Total Quantity";
     e.Row.Cells[2].Text = TotalQuantity.ToString();
}

最佳答案

您的代码中的问题是,绑定到每行时都会触发RowDataBound事件。因此,对于每行TotalQuantity都将重新初始化为0。在外部声明变量TotalQuantity

int TotalQuantity = 0;
protected void griddelverynote_RowDataBound(object sender, GridViewRowEventArgs e)
{
     if (e.Row.RowType == DataControlRowType.DataRow)
          TotalQuantity += Convert.ToInt32(DataBinder.Eval(e.Row.DataItem, "Quantity"));
     else if (e.Row.RowType == DataControlRowType.Footer)
     {
          e.Row.Cells[1].Text = "Total Quantity";
          e.Row.Cells[2].Text = TotalQuantity.ToString();
     }
}

关于c# - gridview中的标题文本更改为零,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34338466/

10-13 06:26