Pb de couleur dans un dataGridview

Signaler
Messages postés
416
Date d'inscription
vendredi 22 février 2008
Statut
Membre
Dernière intervention
7 janvier 2018
-
Messages postés
416
Date d'inscription
vendredi 22 février 2008
Statut
Membre
Dernière intervention
7 janvier 2018
-
Bonjour a tous,
En Vb.Net 2008, j'ai besoin d'afficher un Datagridview dans un mode étendue qui prend tout mon ecran.
Cependant j'ai besoin de colorier les lignes et colonnes sur ce Datagridview pour reperer les entetes de colonnes et de lignes.
Je peux le faire pour chaque ligne avec la méthode

For Cpt =0 to DataGridview1.RowCount - 1
   If Cpt = DataGridview1.CurrentCellAddress.Y Then
      .Rows( Cpt ).DefaultCellStyle.BackColor = Color.red
   else
      .Rows( Cpt ).DefaultCellStyle.BackColor = DataGridview1.DefaultCellStyle.BackColor
   End If
next

3 réponses

Messages postés
416
Date d'inscription
vendredi 22 février 2008
Statut
Membre
Dernière intervention
7 janvier 2018
1
(Désolé j'édite en 2 fois; Pb de bouton)

En utilisant la méthode suivante pour colorier les colonnes
les colorations persistes sur les cases modifiées et ne se recolorie pas par défauts.

.Rows(Cpt).Cells(DataGridview1.CurrentCellAddress.X).Style.BackColor = Color.Red

Peut on supprimer juste la mise en forme du datagridview ?
Peut on aussi tout simplement colorier une colonne + simplement?
Dois je recolorier toutes les cases visibles a chaque fois avec cette dernière méthode pour contourner ce Pb?
Merci CGSI3
Messages postés
7439
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
24 juillet 2021
125
Bonjour,
As-tu regardé sur ce site:

http://plasserre.developpez.com/cours/vb-net/?page=ui-winforms5#LVIII-Q-2

Il parle de ceci:

La couleur des entêtes ne marche pas? Il suffit de mettre la propriété EnableHeadersVisualStyles à False pour que le datagridview prenne en compte le style appliqué par code.


@+Le Pivert
Messages postés
416
Date d'inscription
vendredi 22 février 2008
Statut
Membre
Dernière intervention
7 janvier 2018
1
Bonjour Ami Pivert,
Merci pour ce lien, il m'est fort utile pour aborder une partie de code que je voulais aborder par la suite.
Ma question etait plus de savoir comment on colorie une ligne de cellule.
Si on le fait avec la ligne suivante:

.Rows(Cpt).Cells(DataGridview1.CurrentCellAddress.X).Style.BackColor = Color.Red

La cellule modifié ne prendra pas en compte la fonction suivante qui le fait par défaut.

.Rows( Cpt ).DefaultCellStyle.BackColor = Color.red

J'ai donc résolu de ne pas utiliser cette dernière fonction pour colorier par colonne mes cellules. Il faut que je les colorie toutes ... ce qui ralenti beaucoup mon appli.

Mais j essai de limiter mes modifications aux cellules a afficher.

Merci pour ton aide.
CGSI3