DataGridView: как изменить цвет ячейки в зависимости от значения источника данных - PullRequest
0 голосов
/ 22 апреля 2020

Если в моем наборе данных есть следующие записи

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

Я хочу выделить ячейки, значения которых равны C, E, F. Выделение должно происходить при назначении источника данных DataGridView. Пробовал событие CellValueChanged, но не может заставить его достичь того, что я хочу сделать.

Я надеюсь, что go не будет повторяться в каждой ячейке и проверять значение.

Doable?

ТИА!

1 Ответ

0 голосов
/ 22 апреля 2020

Я не использовал 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, он будет повышен при первоначальном создании ячейки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...