Si vous utilisez DataGridView, vous pouvez probablement le faire avec l'événement RowPostPaint.
Dans l'exemple ci-dessous, dès que chaque ligne est peinte dans DataGridView DataGridViewMaterial, la ligne entière est peinte sur une couleur qui dépend de la valeur de la colonne "MaterialState".
Private Sub DataGridViewMaterial_RowPostPaint(sender As Object, e As DataGridViewRowPostPaintEventArgs) Handles DataGridViewMaterial.RowPostPaint
Dim dgvRow As DataGridViewRow = Me.DataGridViewMaterial.Rows(e.RowIndex)
If dgvRow.Cells("MaterialState").Value <> "" Then
With dgvRow.DefaultCellStyle
Select Case dgvRow.Cells("MaterialState").Value
Case 1
.BackColor = Color.White
Case 2
.BackColor = Color.Orange
Case 3
.BackColor = Color.Aquamarine
Case 31
.BackColor = Color.Crimson
Case 4, 41, 42
.BackColor = Color.BlueViolet
Case 5
.BackColor = Color.LightPink
Case 6
.BackColor = Color.YellowGreen
Case 7
.BackColor = Color.Gray
Case Else
.BackColor = Color.Red
End Select
End With
End If
Vous pouvez probablement peindre une cellule individuelle avec quelque chose comme:
dgvRow.Cells("YourColumnName").Style.BackColor = Color.Red
S'il vous plaît pouvez-vous regarder [demander] et envisager de votre question plus claire. En l'état, cette question n'a pas beaucoup de sens. Qu'est-ce que vous utilisez pour afficher les données? – Bugs