string total;
int totalmarks = 0;
foreach (GridViewRow row in GridView1.Rows)
{
int rowcount = this.GridView1.Rows.Count;
for (int i = 0; i < rowcount; i++)
{
total = row.Cells[3].Text;
totalmarks = Convert.ToInt32(total);
totalmarks +=totalmarks ;
}
}
totalmarksLabel.Text = Convert.ToString(totalmarks);
我使用该部分代码从gridview中获取每个行的单元格[3]的值。然后我尝试总结每一行中的每个值并使用标签显示它。但是,当我运行我的代码时,显示的值是510,它应该是170。
**行[1],行[2],行[3]的值分别为60,30和80.
我发现了问题,我有一个额外的循环。在纠正之后,显示的值是160而不是170.神秘的地方是另一个'10'消失了?在马来西亚凌晨3点,我被困住了。
答案 0 :(得分:1)
我不会使用呈现给html的格式化值。而是使用基础数据项并总计值。
var data = getdata();
grid.datasource = data;
grid.databind();
total.text = data.select(d=>d.value).sum().tostring();
答案 1 :(得分:1)
我已经更正了我的代码,如下所示。它的工作原理
int totalMarks=0;
foreach (GridViewRow row in GridView1.Rows)
{
total = Convert.ToInt32(row.Cells[3].Text);
totalMarks = totalMarks + total;
}
totalMarks Label.Text = Convert.ToString(totalMarks );
答案 2 :(得分:0)
找出最佳方法,在应用程序上设置断点。然后在调试器模式下运行。