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。