J'ai un DataGridView qui a une classe en tant que DataSource.C# DataGridView Texte en couleur d'une seule ligne
La classe contient une chaîne d'ID, 2x DateTimes et une valeur booléenne.
J'ai écrit du code pour changer le texte d'une ligne qui correspond à un identifiant que je passe à la méthode Red, mais rien de ce que j'ai essayé n'a fonctionné.
C'est ce que j'ai jusqu'à présent:
public void ShowInstanceAsTerminated(String id)
{
foreach (DataGridViewRow dgvRow in dgvRIM.Rows)
{
if (dgvRow.Cells[0].Value.ToString() == id)
{
dgvRow.DefaultCellStyle.ForeColor = Color.Red;
}
}
}
Ceci est l'une des nombreuses variantes de code que je l'ai essayé, mais les cellules en question ne changera jamais !!
Merci Neil
+1 - c'était le même concept que j'essayais de faire passer, mais vous l'avez mieux exprimé. – David
Cela n'a pas fonctionné pour moi. Au cours d'une session de débogage, je peux voir le style appliqué à la cellule, mais il ne change jamais réellement. La prochaine fois, elle n'est toujours pas réglée. Je me demande si je dois définir cette ligne comme étant la ligne après l'avoir modifiée. Quelque chose comme: dgvRIM.Row [myrow] = newRow; Hmmmm .... des pensées pendant que je me laisse aller? – neildeadman
Que diriez-vous d'ajouter une ligne de code après avoir changé la couleur pour forcer la mise à jour de datagridview? Le code suivant doit faire cela: dvgRIM.Invalidate(); – David