MSHFLEXGRID

Messages postés
9
Date d'inscription
mardi 5 avril 2005
Statut
Membre
Dernière intervention
10 octobre 2006
-
Messages postés
8
Date d'inscription
mardi 10 janvier 2012
Statut
Membre
Dernière intervention
21 juillet 2015
-
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

Messages postés
4030
Date d'inscription
mardi 13 mai 2003
Statut
Modérateur
Dernière intervention
23 décembre 2008
22
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.
Messages postés
9
Date d'inscription
mardi 5 avril 2005
Statut
Membre
Dernière intervention
10 octobre 2006

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]
Messages postés
69
Date d'inscription
jeudi 6 novembre 2003
Statut
Membre
Dernière intervention
3 octobre 2006

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).
Messages postés
8
Date d'inscription
mardi 10 janvier 2012
Statut
Membre
Dernière intervention
21 juillet 2015

Merci pour votre code, ca fonctionne comme je le souhaitait, j'ai parcouru par ici par là, looool