0

我尝试使用以下代码更改 DataGridView 的所有行的 ForeColor:

private void dgv_CellPainting(object sender, DataGridViewCellPaintingEventArgs e) {
   if (e.RowIndex >= 0) {
      DataGridViewRow row = dgv.Rows[e.RowIndex];
      e.CellStyle.ForeColor = Color.Green;
   }
}

但是第一行没有收到更新。

其他人有这个问题吗?

非常感谢。

4

2 回答 2

2

使用CellFormatting事件

试试这个:

private void dgv_CellFormatting(object sender, 
                            DataGridViewCellFormattingEventArgs e) 
{
      e.CellStyle.ForeColor = Color.Green;
}

看到这张照片。

在此处输入图像描述

于 2013-05-06T17:32:20.493 回答
0

问题是:第一行是select。要修复更新前景色后清除行的选择。

  private void dgv_CellPainting(object sender, DataGridViewCellPaintingEventArgs e) {
     if (e.RowIndex >= 0) {
        DataGridViewRow row = dgv.Rows[e.RowIndex];
        e.CellStyle.ForeColor = Color.Green;
     }
     dgv.ClearSelection();
  }
于 2013-05-06T17:55:20.903 回答