从gridview单元格求和值并使用标签显示它

时间:2012-01-04 19:05:05

标签: c# gridview

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点,我被困住了。

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)

找出最佳方法,在应用程序上设置断点。然后在调试器模式下运行。