iabraoui
Messages postés9Date d'inscriptionmardi 5 avril 2005StatutMembreDernière intervention10 octobre 2006
-
7 sept. 2006 à 11:49
fiotijoel
Messages postés8Date d'inscriptionmardi 10 janvier 2012StatutMembreDernière intervention21 juillet 2015
-
2 avril 2014 à 16:35
Bonjour
Je veux savoir est ce qu’il y a une moyenne pour travailler avec MSHFLEXGRID et Ctrl DATA
Pourquoi MSHLEXGRID ? pour colorer entre les lignes
econs
Messages postés4030Date d'inscriptionmardi 13 mai 2003StatutMembreDernière intervention23 décembre 200825 7 sept. 2006 à 12:33
Salut,
Première question : OUI, c'est possible. Il doit bien y avoir quelques sources sur VBFrance qui font çà.
Deuxième question : MSHFlexgrid est une grille qui a pas mal d'options d'affichage. Tu pourrais utiliser autre chose (ListBox, ListView, Flexgrid, ...), mais c'est a priori elle qui te donnera le plus de souplesse pour l'affichage.
Manu --------------------------------------------------------------------------------------------
Avant de poster un message, n'oubliez pas de consulter le reglement.
geobasic
Messages postés69Date d'inscriptionjeudi 6 novembre 2003StatutMembreDernière intervention 3 octobre 2006 8 sept. 2006 à 23:01
Salut,
je suppose que tu veux mettre deux couleurs différentes un ligne sur deux ? Dans ce cas c'est le MSHFLEXGRID qui te permettra de le faire. Pour ça tu dois utiliser la propriété CellBackColor. Cette propriété permet de positionner une couleur sur la cellulle en cours, c'est à dire celle qui est déterminé par les propriétés Row et Col. Evidemment si tu as beaucoup de colonne il faudra positionner la couleur sur chaque colonne, mais le MSHFLEXGRID intègre un mécanisme de répétition permettant de positionner la couleur sur une ligne ou une colonne entière. Voici en gros comment il faut faire:
- lors de la conception de ton form positionne la propriété FillStyle du Mshflexgrid à la valeur 1 (repeat)
- dans le programme remplie le tableau et exécute une boucle du genre:
For i = 1 To Mshflexgrid1.Rows - 1
Mshflexgrid1.Row = i
Mshflexgrid1.Col = 0 ' 0 si pas de colonne entête, sinon 1
Mshflexgrid1.ColSel = Mshflexgrid1.Cols - 1 If i Mod 2 0 Then Mshflexgrid1.CellBackColor &Hxxxxxx Else Mshflexgrid1.CellBackColor = &Hyyyyyy
Next i
(remplacer xxxxxx et yyyyy par la couleur désirée)
La propriété ColSel permet en fait de sélectionner entièrement la ligne afin de propager la couleur dans toutes les colonnes.
Lorsque de nouvelles lignes sont ajoutées au tableau il faudra refaire le traitemment pour ces lignes (là à toi de vérifier si c'est une ligne pair ou impair pour positionner la bonne couleur).
fiotijoel
Messages postés8Date d'inscriptionmardi 10 janvier 2012StatutMembreDernière intervention21 juillet 2015 2 avril 2014 à 16:35
Merci pour votre code, ca fonctionne comme je le souhaitait, j'ai parcouru par ici par là, looool