DataGridView.DataSource Color [Résolu]

- - Dernière réponse : Whismeril
Messages postés
13818
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
14 octobre 2019
- 17 avril 2016 à 10:21
Bonjour,
je cherche pas tout les moyens de différencier une ligne dans mon dataGridView.

Je récupère une liste d'animaux que je place dans un dataGridView.

Je cherche à inscrire le la ligne d'une autre couleur des animaux qui sont morts.

Voici le code.

        private void pictureBoxAnimaux_Click(object sender, EventArgs e)
{
this.dataGridViewAnimaux.DataSource = AnimalDB.AfficherAnimaux();
RowsColor();
tabControl1.SelectTab(3);
}
private void RowsColor()
{
foreach (DataGridViewRow row in dataGridViewAnimaux.Rows)
if ((row.Cells[10].Value.ToString()) == "O")
{
row.DefaultCellStyle.BackColor = Color.Red;
}
}

Dans mon debug, je passe bien dans mon if pourtant. Je suis frustré lol.

Merci
Afficher la suite 

3 réponses

Messages postés
13818
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
14 octobre 2019
308
0
Merci
Bonjour

chez moi ça marche,
pour voir as tu essayé de commenter la ligne
tabControl1.SelectTab(3);

Commenter la réponse de Whismeril
0
Merci
Bonjour,

cette ligne me permet d’accédé au tableau.
tabControl1.SelectTab(3);


même si je la commente, la ligne ne change pas de couleur.
je vais même plus loin.
Je force une ligne.
dataGridViewAnimaux.Rows[2].DefaultCellStyle.BackColor = Color.Orange;

Ça ne va pas.
Par contre si je fais
dataGridViewAnimaux.DefaultCellStyle.BackColor = Color.Orange;

La ça me fait bien tout le tableau...
Whismeril
Messages postés
13818
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
14 octobre 2019
308 -
Bonjour, oui le style par défaut du tableau le fait sur tout le tableau, d'où l'intérêt d'en avoir ensuite un pour la ligne
Commenter la réponse de PuLSor24
0
Merci
Effectivement le problème venait de l'appel
tabControl1.SelectTab(3);


j'ai du mettre un sparadrap, au démarrage de la page.

        private void Home_Load(object sender, EventArgs e)
{
tabControl1.SelectTab(3); //La page ou il y a le dataGridViewAnimaux
tabControl1.SelectTab(0);
}


Blizzard
Merci ^^
Whismeril
Messages postés
13818
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
14 octobre 2019
308 -
En fait, je pense qu'on ne peut pas appliquer un style tant que le datagridview n'a pas déjà été dessiné, donc si dans pictureboxanimaux-click tu affiches l'onglet avant de demander la coloration ça devrait le faire.
Commenter la réponse de PuLSor24