更改数据网格视图单元格的背景颜色



我正在使用Win Forms和DataGridView控件。我的数据网格视图未绑定到数据源,但添加了列和行。在某些情况下,我将网格视图设置为只读,并尝试将每个单元格的背景颜色更改为灰色。但是灰色出现,然后恢复为白色默认值。我不明白为什么会这样。

以下是数据网格视图上的事件

  1. 单元格结束编辑
  2. 编辑控件显示

使网格只读并设置背景色的代码

_dataGridView.ReadOnly=true;
foreach (DataGridViewRow row in _dataGridView.Rows)
        {
            row.DefaultCellStyle.BackColor = SystemColors.Control;
        }

敬请建议

您可以捕获数据网格视图的 RowPostPaint 事件。

在 VB.NEt 中,它看起来像:

Public Sub repainWithGrayColor() Handles DataGridView1.RowPostPaint
If (condition) Then
   DataGridView1.Rows(e.RowIndex).Cells("ColumnName").Style.BackColor = Color.Gray
   DataGridView1.Rows(e.RowIndex).Cells("ColumnName").ReadOnly = True
 End If
End Sub

希望它有帮助。

相关内容

  • 没有找到相关文章

最新更新