【问题标题】:DataGridView: How to change cell color depending on data source valueDataGridView:如何根据数据源值更改单元格颜色
【发布时间】:2020-04-22 02:23:57
【问题描述】:

如果我的数据集有以下记录

Col1 Col2 Col3
A    D    H 
B    E    I
C    F    J

我想突出显示值为 C、E、F 的单元格。突出显示应在将数据源分配给 DataGridView 期间发生。尝试了 CellValueChanged 事件,但无法实现我想要做的事情。

我希望不要去迭代每个单元格并验证值。

可行吗?

TIA!

【问题讨论】:

标签: c# .net vb.net


【解决方案1】:

我没有经常使用CellFormatting 或CellPainting,但我认为,在这种情况下,CellFormatting 可能是更好的选择。这个例子对我有用:

Private Sub DataGridView1_CellFormatting(sender As Object, e As DataGridViewCellFormattingEventArgs) Handles DataGridView1.CellFormatting
    Dim cell = DataGridView1(e.ColumnIndex, e.RowIndex)

    Select Case TryCast(cell.Value, String)
        Case "C", "E", "F"
            e.CellStyle.BackColor = Color.Red
    End Select
End Sub

CellFormatting 每次单元格需要格式化时都会引发每个单元格。这意味着,与CellValueChanged 不同,它会在最初创建单元格时引发。

【讨论】:

    猜你喜欢
    • 2017-02-05
    • 2023-04-06
    • 2013-10-23
    • 2015-06-11
    • 1970-01-01
    • 2017-04-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多