Colorier MsFlexGrid

Résolu
Sinsitrus
Messages postés
855
Date d'inscription
samedi 11 juin 2005
Statut
Membre
Dernière intervention
21 août 2015
- 15 avril 2010 à 15:12
Sinsitrus
Messages postés
855
Date d'inscription
samedi 11 juin 2005
Statut
Membre
Dernière intervention
21 août 2015
- 25 mars 2011 à 12:41
Salut !

Y a t-il un moyen de colorier une colonne précise d'un MsFlexGrid ?
Si oui lequel ?

Merci

----------
OS : Windows XP SP3 et Vista 32
Platforme : VB 6.0 + SP6
Ok VB6.0 c'est pas net !

5 réponses

cs_DARKSIDIOUS
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Membre
Dernière intervention
4 mars 2013
131
15 avril 2010 à 18:28
Salut,

Si, c'est exactement ce que je te disais : tu parcoure tes cellules une à une (For i 0 To .Rows - 1) et tu les colorie (.CellBackColor RGB(237, 240, 247)).

Pour le redraw :
With Tablo
.Redraw = false
.Col = Text1
For i = 0 To .Rows - 1
.Row = i
.CellBackColor = RGB(237, 240, 247)
Next i
.Redraw = true
End With


Pourquoi faire cà ? Tout simplement que si tu ne fais pas cà, il va rafraichir ta grille à chaque modification du cellbackcolor !
Donc si tu as 10000 lignes, il va faire 10000 refresh du tableau pour rien (seul le dernier refresh est important), et vu que c'est le refresh qui prend le plus de temps, tu vas faire écrouler les performances...
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
3
Sinsitrus
Messages postés
855
Date d'inscription
samedi 11 juin 2005
Statut
Membre
Dernière intervention
21 août 2015

25 mars 2011 à 12:41
Dim Ligne As Integer
Dim Colonne As Integer
For Ligne = 1 To Tablo.Rows - 1
Tablo.Row = Ligne
If Ligne Mod 2 = 0 Then
For Colonne = 0 To Tablo.Cols - 1
Tablo.Col = Colonne
Tablo.CellBackColor = RGB(237, 240, 247)
Next Colonne
End If
Next Ligne
3
cs_DARKSIDIOUS
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Membre
Dernière intervention
4 mars 2013
131
15 avril 2010 à 15:25
Salut,

Tu parcours tes cellules de la colonne une à une et tu les colorie.

N'oublie par le redraw false avant le traitement, et redraw true après pour optimiser le traitement !
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0
Sinsitrus
Messages postés
855
Date d'inscription
samedi 11 juin 2005
Statut
Membre
Dernière intervention
21 août 2015

15 avril 2010 à 18:22
Merci DarkSidious ^^

With Tablo
.Col = Text1
For i = 0 To .Rows - 1
.Row = i
.CellBackColor = RGB(237, 240, 247)
Next i
End With


Vala lui ^^ mais ça ne ressemble pas à ce que tu m'as dis, je sais pas où mettre le redraw :$
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Sinsitrus
Messages postés
855
Date d'inscription
samedi 11 juin 2005
Statut
Membre
Dernière intervention
21 août 2015

15 avril 2010 à 18:44
Je comprends mieux oui.
Encore merci ^^
0