Donc à la génération du datagridview vous souhaitez en fonction de valeur de cellule changer la couleur des cellules :
IL vous suffit d’utiliser la fonction CellFormating
ATTENTION CODE PAS TOUT A FAIT JUSTE , MIS EN VRAC
Exemple: (ici je change les couleurs des cellules qui contiennent M ou B M quelque soit la colonne ou se situe cette valeur)
private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) { for (int i = 0; i < dataGridView1.Columns.Count; i++) { switch (dataGridView1.Rows[0].Cells[i].Value.ToString()) { case "M": dataGridView1.Rows[0].Cells[i].Style.BackColor = Color.Red; break; case "B M": dataGridView1.Rows[0].Cells[i].Style.BackColor = Color.Red; break; case "A": dataGridView1.Rows[0].Cells[i].Style.BackColor = Color.Green; break; case "B A": dataGridView1.Rows[0].Cells[i].Style.BackColor = Color.Green; break; case "N": dataGridView1.Rows[0].Cells[i].Style.BackColor = Color.Yellow; break; case "B N": dataGridView1.Rows[0].Cells[i].Style.BackColor = Color.Yellow; break; } }
Si je souhaite changer la couleur de mes cellules en fonction d’un evenement (bouton par exemple )
Voici une astuce (parmis tant d’autres )
public void formatDatagridview() { foreach (DataGridViewRow row in dataGridView1.Rows) { DataGridViewCell Cellule = row.Cells["TICS_PUT"]; if (Cellule.Value == null) return; if (Cellule.Value.ToString() == "9062") Cellule.Style.BackColor = Color.Red; } }