累积行值c#

时间:2013-05-29 09:25:36

标签: c# datagrid

我希望累积每个单元格的值,并将其显示在flex单元格中网格末尾的“总列”中。这是解决这个问题的最好方法吗?

到目前为止,我有以下代码,我认为不正确!

int total = 0;
for (int B = 3; B < 27; B++)
{
    total = total + int.Parse(this.grid2.Cell(0, B).ToString());
    this.grid2.Cell(0, 27).Text = total.ToString();
}

1 个答案:

答案 0 :(得分:0)

您的代码对我来说似乎是正确的,但可以改进:

int total = 0;
for (int B = 3; B < 27; B++)
{
      total = total + Convert.ToInt32(this.grid2.Cell(0, B));
}

this.grid2.Cell(0, 27).Text = total.ToString();

只在for-loop中放置需要重复的内容。如果只需要完成一次,则将其放在循环之后(或在可能之前)。 另外,尝试为变量使用更有意义的名称。如果你不想给它起一个很长的名字,我会把'B'改为'i',或者改为'column',所以你(以及其他开发者,比如我们)知道它代表什么。

顺便说一句,代码计算一行(第一行)的总和。如果你想为每一行做,那么你需要一个双循环:

for(int row = 0;row < numRows; row++){
  int total = 0;
    for (int column = 3; column < 27; column++)
    {
          total = total + Convert.ToInt32(this.grid2.Cell(row, column));
    }
  this.grid2.Cell(row, 27).Text = total.ToString();
}