Tableau de détail standard : colorer des cellules de tableau en fonction d'une condition
Avec le bouton , ajouter l'évènement HtmlDataCellPrepared de la grille (déplier "Evènements de la grille") :

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;
}
}