Colorier MsFlexGrid [Résolu]

Sinsitrus 863 Messages postés samedi 11 juin 2005Date d'inscription 21 août 2015 Dernière intervention - 15 avril 2010 à 15:12 - Dernière réponse : Sinsitrus 863 Messages postés samedi 11 juin 2005Date d'inscription 21 août 2015 Dernière intervention
- 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 !
Afficher la suite 

5 réponses

Répondre au sujet
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 15 avril 2010 à 18:28
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_DARKSIDIOUS
Sinsitrus 863 Messages postés samedi 11 juin 2005Date d'inscription 21 août 2015 Dernière intervention - 25 mars 2011 à 12:41
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Sinsitrus
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 15 avril 2010 à 15:25
0
Utile
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
Commenter la réponse de cs_DARKSIDIOUS
Sinsitrus 863 Messages postés samedi 11 juin 2005Date d'inscription 21 août 2015 Dernière intervention - 15 avril 2010 à 18:22
0
Utile
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 :$
Commenter la réponse de Sinsitrus
Sinsitrus 863 Messages postés samedi 11 juin 2005Date d'inscription 21 août 2015 Dernière intervention - 15 avril 2010 à 18:44
0
Utile
Je comprends mieux oui.
Encore merci ^^
Commenter la réponse de Sinsitrus

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.