Bonsoir à tous,
je rencontre un drôle de phénomène. J'ai mis en place un système d'alternance des couleurs des lignes de mon état de facture. Pour cela j'ai déclaré un compteur en variable globale de mon état (i est un entier = 0)
et avant chaque impression d'une ligne j'ai ce code :
Après impression, j'incrémente mon compteur (i++)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 SI EstPair(i) ALORS Groupe1..CouleurFond = Blanc SINON Groupe1..CouleurFond = RGB(199,227,255) FIN
Petite particularité, je souhaite qu'à chaque nouvelle page, la première ligne affichée soit sur fond blanc (cause ligne d'entêtes déjà sur fond bleu), donc dans le bloc "haut-de-page" je réinitialise mon compteur à zéro avant impression.
Pourtant, il y a comme un délai avant la remise à zéro, si bien que la première ligne sur une nouvelle page est toujours en alternance avec la dernière ligne de la page précédente, au lieu d'être systématiquement forcée à blanc.
Voyez plutôt (j'affiche mon compteur de ligne i tout à gauche en début de ligne) :
Là j'ai du bol car la rupture se fait à i = 9, et donc le fait d'être encore à i = 10 sur la nouvelle page me fait quand même redémarrer sur un nombre pair, donc fond blanc. Puis je passe tout de suite à i = 1, comme si le i = 0 ne se produisait jamais.
Mais sur l'image suivante, la rupture se fait à i = 12, donc en se retrouve à 13 pour démarrer la page suivante, c'est donc impair = fond bleu, et comme ensuite on passe à i = 1, j'ai de nouveau une ligne à fond bleu :
Il n'y a pourtant rien de sorcier dans tout ça, j'ai vraiment l'impression d'un bug de WinDev, comme si la remise à zéro de i se passait mal, ou bien était décalée une ligne trop tard... J'ai testé en mode test, et depuis l'exécutable, même comportement.
Une idée svp ?
Partager