IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

[C#][VS 2005]Changer la couleur d'une ligne dans un DataGridView


Sujet :

Windows Forms

  1. #1
    Membre actif Avatar de Mast3rMind
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2006
    Messages : 226
    Points : 219
    Points
    219
    Par défaut [C#][VS 2005]Changer la couleur d'une ligne dans un DataGridView
    Bonjour,

    Je veux changer la couleur de toutes les lignes (rows) de mon DataGridView. Pour ce faire, je me suis créé une fonction:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    private void SelectAllRows()
    {
           for( int i = 0; i<dataGrid.Rows.Count; i++)
                {
                   for (int j = 0; j < dataGrid.Rows[i].Cells.Count; j++)
                        dataGrid.Rows[i].Cells[j].Style = highlightCellStyle;
                }
     
            }
    Le problème c'est que c'est assez lent parce qu'on parcourt toutes les cellules de toutes les lignes, et j'ai beaucoup de lignes.

    Quelqu'un aurait une meilleur idée? Merci!
    .:: WOTC_MasterMind | Never Surrender | Warriors of The Cross ::.
    Il n'y a qu'une façon d'échouer, c'est d'abandonner avant d'avoir réussi.

  2. #2
    Membre éprouvé Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Points : 1 256
    Points
    1 256
    Par défaut
    Le datagridview possèdes de nombreuses propriété permettant de générer les styles (style pour toutes les lignes par défaut, style des lignes sélectionnées, styles des lignes alternatives, ...)
    Il te suffit d'appliquer le style que tu veux.

  3. #3
    Membre actif Avatar de Mast3rMind
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2006
    Messages : 226
    Points : 219
    Points
    219
    Par défaut
    Oui, mais ce que j'aimerais savoir c'est s'il y a un moyen de changer la couleur de toute une ligne au moment où je le veux, sans devoir sélectionner une ligne pour qu'elle change de couleur...

    Ce que je veux faire, c'est lorsque je clique dans une cellule, la ligne au complet change de couleur, mais pour ce faire je ne veux pas dépendre de l'attribut "Selected" de la ligne.
    .:: WOTC_MasterMind | Never Surrender | Warriors of The Cross ::.
    Il n'y a qu'une façon d'échouer, c'est d'abandonner avant d'avoir réussi.

  4. #4
    Membre éprouvé Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Points : 1 256
    Points
    1 256
    Par défaut
    je suis pas sur de bien comprendre mais je crois que ce que tu cherche c'est de mettre le selectionMode sur FullRowSect, non ?

  5. #5
    Membre actif Avatar de Mast3rMind
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2006
    Messages : 226
    Points : 219
    Points
    219
    Par défaut
    Finalement j'ai trouvé. Voici la solution pour changer la couleur de toutes les lignes d'un DataGridView:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for (int i=0; i< dataGrid.Rows.Count; i++)
                {
                    dataGrid.Rows[i].DefaultCellStyle.BackColor = m_highlightCellColor;
                }
    A+
    .:: WOTC_MasterMind | Never Surrender | Warriors of The Cross ::.
    Il n'y a qu'une façon d'échouer, c'est d'abandonner avant d'avoir réussi.

  6. #6
    Membre éprouvé Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Points : 1 256
    Points
    1 256
    Par défaut
    c'est ce que je te disait finlement
    Le datagridview possèdes de nombreuses propriété permettant de générer les styles (style pour toutes les lignes par défaut, style des lignes sélectionnées, styles des lignes alternatives, ...)
    Il te suffit d'appliquer le style que tu veux.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 7
    Dernier message: 13/11/2006, 12h12
  2. Changer la couleur d'une ligne dans une ListBox
    Par Leray dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 16/07/2006, 14h44
  3. Réponses: 5
    Dernier message: 19/06/2006, 14h17
  4. Changer la couleur d'une ligne dans un DBGrid
    Par fba dans le forum Composants VCL
    Réponses: 5
    Dernier message: 24/10/2005, 20h30
  5. Réponses: 8
    Dernier message: 14/05/2004, 11h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo