Skip to main content
Version: Next

Tableau de détail standard : colorer des cellules de tableau en fonction d'une condition

Avec le bouton image.png, ajouter l'évènement HtmlDataCellPrepared de la grille (déplier "Evènements de la grille") :

image.png

Dans cet exemple, le nom de ma colonne à colorier est CRITICITE La couleur dépendra d'un seuil basé sur le contenu numérique de ce champ.

Adapter le code suivant :

if (e.DataColumn.FieldName == "CRITICITE")
{
double criticite = Convert.ToDouble(e.CellValue);
double seuilOrange = 5.0;
double seuilRouge = 15.0;

if (criticite >= seuilRouge)
e.Cell.BackColor = System.Drawing.Color.Red;
else if (criticite >= seuilOrange)
e.Cell.BackColor = System.Drawing.Color.Orange;
else
e.Cell.BackColor = System.Drawing.Color.Green;
e.Cell.ForeColor = System.Drawing.Color.White;
e.Cell.HorizontalAlign = HorizontalAlign.Center;
}

Demande de révision

DR-2020-000022 D'après Jean Philippe ROGER de Noeva, si l'on veut vérifier la présence d'une valeur et colorier cette cellules, le code ci-dessous ne fonctionne pas.

Voici la solution trouvée :

Voila le code

if (e.DataColumn.FieldName == "SELMESPREV")
{
string statut = (string)APSxGridViewAnalyseDesRisques.GetRowValues(e.VisibleIndex, "SELMESPREV");

if (statut == "X"){
e.Cell.BackColor = System.Drawing.Color.Blue;
e.Cell.ForeColor = System.Drawing.Color.White;
e.Cell.HorizontalAlign = HorizontalAlign.Center;
}

}