如何计算DataGridView中具有相同背景颜色的单元格总数(而不是单元格内容)?这是我的代码...
int sum = 0;
foreach (DataGridViewRow row2 in dataGridView2.Rows)
{
for (int i = 0; i < dataGridView2.Rows.Count; i++)
{
if (row2.Cells[i].Style.BackColor ==
Color.YellowGreen)
sum++;
{
if (sum >= 2)
{
richTextBox2.Text = ("Cars");
}
}
}
}
答案 0 :(得分:0)
我看到发布的代码有两个问题。
第一个问题
您可能要迭代所有行,然后迭代每行的每一列。但是,您的第二个for循环看起来不正确。
for (int i = 0; i < dataGridView2.Rows.Count; i++) {...}
这可能应该遍历所有列索引。使用此代码,i
将从0到您的GridView
中行的数量。
第二个问题
sum++;
行应在此处的大括号内。
错误:
if (row2.Cells[i].Style.BackColor == Color.YellowGreen)
sum++;
{
右:
if (row2.Cells[i].Style.BackColor == Color.YellowGreen)
{
sum++;
您这样做的方式是,只有sum++;
行位于if语句内,大括号内的所有内容每次都会执行(您可能不希望这样做)。
答案 1 :(得分:0)
int sum = 0;
for (int i = 0; i < dataGridView2.Rows[0].Cells.Count; i++)
{
if (dataGridView2.Rows[0].Cells[i].Style.BackColor ==
Color.YellowGreen)
sum++;
{
if (sum > 2)
{
richTextBox2.Text = ("Cars");
}
}