C# gridview中的标题文本更改为零

C# gridview中的标题文本更改为零,c#,asp.net,gridview,C#,Asp.net,Gridview,我使用下面的代码在网格视图中获取DataField=“Quantity”的总和,并在网格视图页脚中显示结果 问题是HeaderText=“Quantity”已更改为零 protected void griddelverynote_RowDataBound(object sender, GridViewRowEventArgs e) { int TotalQuantity = 0; if (e.Row.RowType == DataControlRowType.DataRow)

我使用下面的代码在网格视图中获取
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();
     }
}

@艾曼-明白了!您在
else if
块中缺少大括号。检查答案。相同的问题标题文本=0@Ayman-Cz你丢失了代码块。如果零件为零件,则选中else。