Bonjour,

Je cherche à changer la couleur d'une cellule d'un datagrid en fonction du contenu d'une autre cellule.

Mon datagrid est rempli de manière automatique via une datatable.

Une fois le datagrid rempli, j'ai une fonction qui lit chaque ligne et est censée changer la couleur de ma cellule :

Note : backChiffrage, foreChiffrage etc... sont des objets de type color définis ailleurs.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
Dim i As Integer
For i = 0 To dgvBilanAffaire.Rows.Count - 1
   Select Case dgvBilanAffaire.Item("dcestatut", i).Value.ToString
      Case "Chiffrage"
         dgvBilanAffaire.Rows(i).Cells(2).Style.BackColor = backChiffrage
         dgvBilanAffaire.Rows(i).Cells(2).Style.ForeColor = foreChiffrage
      Case "Lancée"
         dgvBilanAffaire.Rows(i).Cells(2).Style.BackColor = backLancee
         dgvBilanAffaire.Rows(i).Cells(2).Style.ForeColor = foreLancee
      Case "Validée"
         dgvBilanAffaire.Rows(i).Cells(2).Style.BackColor = backValidee
         dgvBilanAffaire.Rows(i).Cells(2).Style.ForeColor = foreValidee
      Case "Annulée"
         dgvBilanAffaire.Rows(i).Cells(2).Style.BackColor = backAnnulee
         dgvBilanAffaire.Rows(i).Cells(2).Style.ForeColor = foreAnnulee
   End Select
Next
Problème :

Ca ne marche pas ! Mes cellules restent blanches.

J'ai essayé de caser un dgvBilanAffaire.refresh() à la fin de ma boucle, dans ce cas, je vois les couleurs apparaître puis revenir à blanc une fois le tableau entièrement dessiné.

Une idée ?