OVH Cloud OVH Cloud

Changer la couleur d'une cellule dans un datagridview

3 réponses
Avatar
Donald Pelletier
Bonjour,

Est-il possible de changer la couleur du fond d'une cellule d'un
datagridview en fonction de la valeur de la cellule.

Merci de votre aide
--
Amateur de VB

3 réponses

Avatar
Cyril P.
Quelle framework utilises tu ?

Avec le 2.0, tu peux parcourir touts les rows de ta table et switcher sur le
contenu d'une Column précise. Ensuite en agissant sur Column.Style.BackColor
tu ne changeras en fait que la couleur de la cellule et non pas celle de la
colonne entiere contrairement à ce qu'on peut attendre.

Je n'ai pas fait l'éssai avec le framework 1.1, je ne suis donc pas en
mesure de dire si cela fonctionnera avec cette version.

Cordialement,
--
Cyril PINEAU
.Net Technical analyst
CNPPF France


"Donald Pelletier" wrote:

Bonjour,

Est-il possible de changer la couleur du fond d'une cellule d'un
datagridview en fonction de la valeur de la cellule.

Merci de votre aide
--
Amateur de VB


Avatar
Thierry HUGUET [MS]
Par exemple, dans l'evenement CellEndEdit du contrôle DataGridView (qui est
déclenché quand le contenu de la cellule est modifié par l'utilisateur),
vous pouvez modifier la couleur de la cellule avec la propriété
Style.BackColor.

Voici un exemple de code (dans l'event CellEndEdit).
Il met la couleur de la cellule de la colonne "nomdecolonne" en couleur
rouge ou vert d'après le contenu saisie dans la cellule

If DataGridView1.Columns(e.ColumnIndex).Name = "nomdecolonne" Then
' test le nom de la colonne
Dim x As String
x =
DataGridView1.Rows(e.RowIndex).Cells("column1").Value.ToString ' récupère la
valeur saisie par l'utilisateur
If x = "red" Then ' d'après la valeur de la cellule, on modifie
alors sa couleur
DataGridView1.Rows(e.RowIndex).Cells("column1").Style.BackColor
= Color.Red
Else
DataGridView1.Rows(e.RowIndex).Cells("column1").Style.BackColor
= Color.Green
End If
End If

Thierry HUGUET
Microsoft


"Donald Pelletier" a écrit dans le message de news:

Bonjour,

Est-il possible de changer la couleur du fond d'une cellule d'un
datagridview en fonction de la valeur de la cellule.

Merci de votre aide
--
Amateur de VB


Avatar
Donald Pelletier
Merci de votre aide. Ça fonctionne très bien.
--
Amateur de VB


"Thierry HUGUET [MS]" a écrit :

Par exemple, dans l'evenement CellEndEdit du contrôle DataGridView (qui est
déclenché quand le contenu de la cellule est modifié par l'utilisateur),
vous pouvez modifier la couleur de la cellule avec la propriété
Style.BackColor.

Voici un exemple de code (dans l'event CellEndEdit).
Il met la couleur de la cellule de la colonne "nomdecolonne" en couleur
rouge ou vert d'après le contenu saisie dans la cellule

If DataGridView1.Columns(e.ColumnIndex).Name = "nomdecolonne" Then
' test le nom de la colonne
Dim x As String
x =
DataGridView1.Rows(e.RowIndex).Cells("column1").Value.ToString ' récupère la
valeur saisie par l'utilisateur
If x = "red" Then ' d'après la valeur de la cellule, on modifie
alors sa couleur
DataGridView1.Rows(e.RowIndex).Cells("column1").Style.BackColor
= Color.Red
Else
DataGridView1.Rows(e.RowIndex).Cells("column1").Style.BackColor
= Color.Green
End If
End If

Thierry HUGUET
Microsoft


"Donald Pelletier" a écrit dans le message de news:

> Bonjour,
>
> Est-il possible de changer la couleur du fond d'une cellule d'un
> datagridview en fonction de la valeur de la cellule.
>
> Merci de votre aide
> --
> Amateur de VB