DataGridView中的行不会改变颜色

时间:2013-02-22 16:54:13

标签: c# winforms

我只是尝试将颜色设置为特定列中值为4的行的背面颜色为红色,但所有行都具有白色背面颜色,即使存在值大于4的行。我也是遍历代码,所以我知道代码实际上执行代码来改变背景颜色。

我在这里做错了什么。

dataGridViewMain.DataSource = table;
dataGridViewMain.Sort(dataGridViewMain.Columns["Days in the shop"], ListSortDirection.Descending);
      foreach (DataGridViewRow row in this.dataGridViewMain.Rows)
      {
        if (Convert.ToInt32(row.Cells["Days in the shop"].Value) > 4)
           row.DefaultCellStyle.BackColor = Color.Red;
      }

2 个答案:

答案 0 :(得分:1)

显然我需要将逻辑放在RowPostPaint事件中。现在一切都很好。

答案 1 :(得分:0)

在创建子表单时,我遇到了DataGridView单元格颜色的问题,我很难找到解决方案。如果使用子表单,我必须确保我更改了表单加载事件的颜色。我最初试图从主要方法改变颜色,这不起作用。