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

VB.NET Discussion :

couleur dans un datagridview


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2009
    Messages : 110
    Par défaut couleur dans un datagridview
    bonjours tout le monde,

    Je souhaiterai mettre mes lignes de mon datagridview en couleur en fonction du code contenu dans une des colonnes de ce datagridview.
    Le code que je vais vous mettre ci dessous fonctionne par rapport au différent case il rentre bien dedans mais il applique la dernière couleur par laquelle le programme est passé à l'entièreté du datagridview.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
     
    For i = 0 To getNombreLigne() - 1
                With datagridview1
                    Select Case .Rows(i).Cells("personne").Value
     
                        Case Is = "vieux"
                            .RowsDefaultCellStyle.BackColor = Color.Cyan
                            'couleur de la ligne de selection
                            'datagridview1.DefaultCellStyle.SelectionBackColor = Color.Cyan
                        Case Is = "jeune"
                            .RowsDefaultCellStyle.BackColor = Color.Red
                        Case Else
                            .RowsDefaultCellStyle.BackColor = Color.Green
     
                    End Select
     
                End With
     
            Next

  2. #2
    Membre Expert Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Par défaut
    C'est normale, si tu suis ton code tu applique le RowsDefaultCellStyle à tout ton datagridview1

    essaye plutôt de l'appliquer à la ligne ou tu fait le test:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    For i = 0 To getNombreLigne() - 1
                With datagridview1
                    Select Case .Rows(i).Cells("personne").Value
                         Case Is = "vieux"
                            .Rows(i).BackColor = Color.Cyan
                        Case Is = "jeune"
                            .Rows(i).BackColor = Color.Red
                        Case Else
                            .Rows(i).BackColor = Color.Green
                     End Select
                 End With
             Next
    PS: je n'ai pas testé ce code

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2009
    Messages : 110
    Par défaut
    merci de ta réponse j 'ai déjà utilisé le code que tu as mit et meme de plusieurs facon et la cela ne fonctionne pas voici le code que j avait essayé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    .Rows(i).DefaultCellStyle.BackColor = Color.Cyan
    pourtant le programme lit la ligne de code mais n'appliqeu pas le "style"
    le code que tu as mit ne fonctionne pas il me dit comme erreur que backcolor n'est pas membre de datagridview

  4. #4
    Membre Expert Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Par défaut
    j'ai bien ce bout de code, mais il ne fait qu'une ligne sur deux ... (peut-etre que tu peut le modifier)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    .RowsDefaultCellStyle.BackColor = Color.White
     
    .AlternatingRowsDefaultCellStyle.BackColor = Color.AliceBlue
    regarde si la propriété AlternatingRowsDefaultCellStyle ne peut pas servir plusieurs fois

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2009
    Messages : 110
    Par défaut
    ce n'est pas que je ne veux pas mais il me met une en couleur et il alterne mais il garde les dernières couleurs de la selections.

    Pourtant sa me semble évident que si ont dit à la machine :

    "tel ligne je veux tel couleur si elle contient ce code dans telle cellule"

  6. #6
    Membre Expert Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Par défaut
    je sais pas ce que t'a mis mais je pensé à ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    For i = 0 To getNombreLigne() - 1
                With datagridview1
                    Select Case .Rows(i).Cells("personne").Value
     
                        Case Is = "vieux"
                            .AlternatingRowsDefaultCellStyle.BackColor = Color.Cyan
                            'couleur de la ligne de selection
                            'datagridview1.DefaultCellStyle.SelectionBackColor = Color.Cyan
                        Case Is = "jeune"
                            .AlternatingRowsDefaultCellStyle.BackColor = Color.Red
                        Case Else
                              'tu met en vert par défaut
                            .RowsDefaultCellStyle.BackColor = Color.Green
     
                    End Select
     
                End With
     
            Next

Discussions similaires

  1. alterner les couleurs dans un tableau avec xsl
    Par Eithelgul dans le forum XSL/XSLT/XPATH
    Réponses: 14
    Dernier message: 03/05/2015, 23h29
  2. [Débutant] Changer couleur d'une row dans un Datagridview bindé
    Par jeremyvb11 dans le forum VB.NET
    Réponses: 5
    Dernier message: 13/01/2013, 15h32
  3. Réponses: 21
    Dernier message: 02/08/2012, 16h57
  4. Réponses: 5
    Dernier message: 14/05/2008, 22h19
  5. [C#][VS 2005]Changer la couleur d'une ligne dans un DataGridView
    Par Mast3rMind dans le forum Windows Forms
    Réponses: 5
    Dernier message: 13/07/2006, 23h20

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