我正在使用Win Forms和DataGridView控件。我的数据gridview未绑定到数据源,但添加了列和行。在某些情况下,我将网格视图设置为只读并尝试将每个单元格的背景颜色更改为灰色。但灰色显示然后又回到白色默认值。我无法理解为什么会这样。
以下是数据网格视图上的事件
- Cell End Edit
- EditingControlShowing
醇>
使网格只读并设置背景颜色的代码
_dataGridView.ReadOnly=true;
foreach (DataGridViewRow row in _dataGridView.Rows)
{
row.DefaultCellStyle.BackColor = SystemColors.Control;
}
请建议
答案 0 :(得分:1)
您可以捕获数据网格视图的RowPostPaint事件。
在VB中。它看起来像:
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
希望它有所帮助。