DataGridView.DataSource Color

Résolu
PuLSor24 - 16 avril 2016 à 20:47
Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 - 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

3 réponses

Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 656
17 avril 2016 à 07:17
Bonjour

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

0
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...
0
Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 656
17 avril 2016 à 10:19
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
0
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 ^^
0
Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 656
17 avril 2016 à 10:21
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.
0
Rejoignez-nous