MSHFLEXGRID

iabraoui Messages postés 9 Date d'inscription mardi 5 avril 2005 Statut Membre Dernière intervention 10 octobre 2006 - 7 sept. 2006 à 11:49
fiotijoel Messages postés 8 Date d'inscription mardi 10 janvier 2012 Statut Membre Dernière intervention 21 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

Merci

A.ABRAOUI
LOARC
[mailto:i.abraoui@caramail.com i.abraoui@caramail.com]

3 réponses

econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Modérateur Dernière intervention 23 décembre 2008 23
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.
0
iabraoui Messages postés 9 Date d'inscription mardi 5 avril 2005 Statut Membre Dernière intervention 10 octobre 2006
7 sept. 2006 à 15:34
Merci  pour votre réponse


Mais je veux utiliser MSHFELXGRID pour  utiliser deux couleurs dans les lignes


je sais pas est ce que je peux le faire c-à-d deux couleurs avec (ListBox, ListView, Flexgrid, ...)


et merci une autre fois

A.ABRAOUI
LOARC
[mailto:i.abraoui@caramail.com i.abraoui@caramail.com]
0
geobasic Messages postés 69 Date d'inscription jeudi 6 novembre 2003 Statut Membre Derniè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).
0
fiotijoel Messages postés 8 Date d'inscription mardi 10 janvier 2012 Statut Membre Dernière intervention 21 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
0
Rejoignez-nous