C# 如何将一个单元格值复制到其他单元格?

C# 如何将一个单元格值复制到其他单元格?,c#,winforms,datagridview,C#,Winforms,Datagridview,我想将内容从一个单元格复制到同一列中的其他单元格,因此我想将参与方的名称复制到其他单元格,直到背景颜色为绿色,如wise 我建议您将单元格列为代码格式的文本,而不是使用图像。如何将一个单元格内容复制到另一个单元格。我有一个列名party的名称,我想将相同的名称复制到其他单元格中。将名称复制到null空格。您应该将其添加到问题文本中,而不仅仅作为注释。我建议您编辑问题。我建议您将单元格列为代码格式的文本,而不是使用图像。如何将一个单元格内容复制到另一个单元格。我有一个列名party的名称,我想将

我想将内容从一个单元格复制到同一列中的其他单元格,因此我想将参与方的名称复制到其他单元格,直到背景颜色为绿色,如wise


我建议您将单元格列为代码格式的文本,而不是使用图像。如何将一个单元格内容复制到另一个单元格。我有一个列名party的名称,我想将相同的名称复制到其他单元格中。将名称复制到null空格。您应该将其添加到问题文本中,而不仅仅作为注释。我建议您编辑问题。我建议您将单元格列为代码格式的文本,而不是使用图像。如何将一个单元格内容复制到另一个单元格。我有一个列名party的名称,我想将相同的名称复制到其他单元格中。将名称复制到null空格。您应该将其添加到问题文本中,而不仅仅作为注释。我建议您编辑您的问题。您介意解释一下代码吗?在我看来,这根本不会运行,因为第一个单元格是黄色的,不是绿色的,但也许我遗漏了一些东西,试试吧。一个单元格的值和它的背景色是两个不同的东西。我不是那个提出这个问题的人。在我看来,你仍然应该解释你的答案。我在while语句中使用了错误的索引(j而不是nextRowIndex)。编辑代码后,我试图解释:nextRowIndex设置为j+1以寻址下一行。如果此单元格的背景色为绿色,则第j行中读取的值将复制到索引为nextRowIndex的行中。同时,nextRowIndex将递增。如果发现一个单元格的背景色不是绿色,则while循环结束。您应该记住,如果datagridView中的最后一行有一个绿色单元格,您将非法访问下一行(不存在)。所以你必须经常检查nextRowIndex是否有效。你介意解释一下代码吗?在我看来,这根本不会运行,因为第一个单元格是黄色的,不是绿色的,但也许我遗漏了一些东西,试试吧。一个单元格的值和它的背景色是两个不同的东西。我不是那个提出这个问题的人。在我看来,你仍然应该解释你的答案。我在while语句中使用了错误的索引(j而不是nextRowIndex)。编辑代码后,我试图解释:nextRowIndex设置为j+1以寻址下一行。如果此单元格的背景色为绿色,则第j行中读取的值将复制到索引为nextRowIndex的行中。同时,nextRowIndex将递增。如果发现一个单元格的背景色不是绿色,则while循环结束。您应该记住,如果datagridView中的最后一行有一个绿色单元格,您将非法访问下一行(不存在)。因此,您必须始终检查nextRowIndex是否有效。
if (dataGridView1.Rows[j].DefaultCellStyle.BackColor == System.Drawing.Color.Yellow)
{
    int nextRowIndex = j + 1; // the code works up to one cell.

    var value = dataGridView1.Rows[j].Cells[2].Value.ToString();
    dataGridView1.Rows[nextRowIndex].Cells[2].Value = value;
    nextRowIndex++;
}
 if (dataGridView1.Rows[j].DefaultCellStyle.BackColor ==System.Drawing.Color.Yellow)
 {
      int nextRowIndex = j + 1; // the code works up to one cell.  
      while (dataGridView1.Rows[nextRowIndex].DefaultCellStyle.BackColor == System.Drawing.Color.Green)
      {
          dataGridView1.Rows[nextRowIndex++].Cells[2].Value = dataGridView1.Rows[j].Cells[2].Value;
      }
}