|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
![]() ![]() Étudiant Inscription : novembre 2003 Messages : 3 831 ![]() |
Bonjour
Cette fois, il s'agit de centrer verticalement un élément dans une boîte. Vous pouvez voir un aperçu de ce que j'ai ici (capure d'écran). L'état affiche la liste des numéros de téléphones et des codes PUK des puces d'un client; l'ensemble est groupé par ordre alphabétique de nom de client. J'ai crée un sub-group header de sorte que les groupes sont entourés d'un Box (dans la capture d'écran, je n'ai montré qu'un seul groupe). Mais j'aimerai changer la position du groupe Nom de sorte que quelque soit la hauteur du Box, que le nom soit toujours à 50% du bord horizontal supérieur. Concrètement, j'aimerai avoir un état comme cà. J'ai cherché comment je pouvais le faire à partir de formule mais je ne sais pas comment on peut spécifier la position d'un objet Merci pour votre aide.
__________________
Comment rejoindre la rédaction de www.developpez.com ? Améliorer vos posts en faisant une correction orthographique"Tu as tort d'abuser de ma patience" Sokar |
|
|
00
|
|
|
#2 |
![]() ![]() Nicolas LAURETChef de projet en SSII Inscription : novembre 2003 Messages : 1 024 ![]() |
bonjour,
si tu étais sûr que le groupe tient sur la page courante tu pourrais le faire par une formule en interrogeant le count(detail) pour un groupe et en ajoutant autant de retour à la ligne que la moitié arrondie à l'inférieur. Mais tu ne peux pas savoir si un groupe tient sur une page avant de l'ecrire. Le problème est lié aux ruptures de page Crystal le sait mais l'information ne peut pas être connue à l'execution dans une formule. J'y réfléchis, si j'ai une idée je ferais un edit de ce message.
__________________
Modérateur Business Intelligence / Windev A lire avant de poster Si vous avez obtenu la réponse à votre question alors cliquez sur le bouton
|
|
|
00
|
|
|
#3 |
|
Membre éprouvé
![]() ![]() Inscription : mai 2002 Messages : 377 ![]() |
Hello,
Extra les capture d'écran. Comme quoi une image vaux mieux qu'un long discourt. par contre je dirais que c'est casi impossible. Une piste toute fois. Si tu connais le nombre de recorde que tu as pour un groupe, alors tu place ton champs DD dans le détail comme le numéro de téléphone et le PukCode, et tu joue avec la forumle "Suppress".... |
|
|
00
|
|
|
#4 | |||
![]() ![]() Étudiant Inscription : novembre 2003 Messages : 3 831 ![]() |
Citation:
Citation:
Je ne peux pas connaître à l'avance le nombre d'enregistrement pour un groupe, mais je pense qu'un groupe ne devrait pas tenir sur plus d'une page (il faudrait que le client soit fournisseur de téléphone quelque part Citation:
Merci
__________________
Comment rejoindre la rédaction de www.developpez.com ? Améliorer vos posts en faisant une correction orthographique"Tu as tort d'abuser de ma patience" Sokar |
|||
|
|
00
|
|
|
#5 |
![]() ![]() Nicolas LAURETChef de projet en SSII Inscription : novembre 2003 Messages : 1 024 ![]() |
Dans l'hypothèse que :
- - On spécifie que la section Début de groupe s'affiche en fonds de section suivante. On ajoute en début de groupe une formule (Formule non testée mais ca doit ressembler à ça) : Code :
Formula = ReplicateString(Chr(13),Abs(Count(Phone,GROUP)/2)) & {Client.Nom}
__________________
Modérateur Business Intelligence / Windev A lire avant de poster Si vous avez obtenu la réponse à votre question alors cliquez sur le bouton
|
|
|
00
|
|
|
#6 |
![]() ![]() Étudiant Inscription : novembre 2003 Messages : 3 831 ![]() |
Je teste cà et je dis ce que cà donne
Je vais aussi voir comment on utilise Suppress. J'ai un autre problème en suspend mais cà attendra Merci
__________________
Comment rejoindre la rédaction de www.developpez.com ? Améliorer vos posts en faisant une correction orthographique"Tu as tort d'abuser de ma patience" Sokar |
|
|
00
|
|
|
#7 |
![]() ![]() Nicolas LAURETChef de projet en SSII Inscription : novembre 2003 Messages : 1 024 ![]() |
Encore une autre solution en relation avec celle de notre ami Sur_uix ...
Il te faut 2 compteurs un que tu réinitialise en début de page (Y) et l'autre que tu réinitialise en début de groupe. (Z) Pour chaque page tu sais que tu peux faire x lignes A chaque fois que tu edites 1 ligne, tu incrémentes Y Si tu sais que ton groupe va tenir sur la page car il contient moins de lignes que le total restant de la page (x-y), alors tu rends visible la ligne détail lorsque Z = Abs(Count({Phone},{client}/2) Sinon Tu rends visible la ligne lorsque Z = Abs((x-y)/2) Donc voilà, c'est une autre idée : mais les problèmes subsistent : combien de lignes pour 1 page ?? il te faut quelques part une constante du nombre de lignes par page. le problème c'est que c'est liè à l'imprimante et aux marges .... et pour la solution précédente : la hauteur de la police ne correspond pas à la taille de la section. pas de toutes les informations.
__________________
Modérateur Business Intelligence / Windev A lire avant de poster Si vous avez obtenu la réponse à votre question alors cliquez sur le bouton
|
|
|
00
|
|
|
#8 | |||
![]() ![]() Étudiant Inscription : novembre 2003 Messages : 3 831 ![]() |
Je risque lire toute la doc de Crystal en une journée
J'ai fait un test de la fonction ReplicateString, mais cà à un inconvénient Je place le champ Test dont la formule est : Code :
"BEGIN" + ReplicateString(Chr(13),5) + "END" si je mets la propriété Can grow de ce champ à true, j'obtiens ceci J'ai cet effet lorsque je place le champ dans un Header. J'ai essayé de placer aussi dans le champ Details, mais c'est pire Je ne suis pas sûr de savoir manipuler Suppress, mais dans le Format Field, je coche "Suppress if duplicated" et je tape cette formule : Code :
Mais le décalage subsiste (bien que le BEGIN...END n'apparaît qu'une seule fois). Citation:
Si tu as un peu de temps, pourrais tu essayer de réaliser un exemple (dans les conditions de ton choix). Merci.
__________________
Comment rejoindre la rédaction de www.developpez.com ? Améliorer vos posts en faisant une correction orthographique"Tu as tort d'abuser de ma patience" Sokar |
|||
|
|
00
|
|
|
#9 |
![]() ![]() Nicolas LAURETChef de projet en SSII Inscription : novembre 2003 Messages : 1 024 ![]() |
Pense à mettre la section en fonds de section suivante dans le cas 1.
Et tu verras que rien ne va se décaler
__________________
Modérateur Business Intelligence / Windev A lire avant de poster Si vous avez obtenu la réponse à votre question alors cliquez sur le bouton
|
|
|
00
|
|
|
#10 | ||||
![]() ![]() Étudiant Inscription : novembre 2003 Messages : 3 831 ![]() |
Il faut glisser le Group Header dans la section Détails. Ensuite, la formule à taper après avoir coché l'option Suppress (Menu Format Field) Code :
NumberOfspaceBy2 est définit par : Code :
Round(Abs(Count({SimCard.PhoneNumber},{Client.Name})) / 2) (les noms donnés ne sont que des exemples Citation:
(je ne savais pas cà aussi)Citation:
Encore merci à tous
__________________
Comment rejoindre la rédaction de www.developpez.com ? Améliorer vos posts en faisant une correction orthographique"Tu as tort d'abuser de ma patience" Sokar |
||||
|
|
00
|
|
|
#11 |
|
Membre éprouvé
![]() ![]() Inscription : mai 2002 Messages : 377 ![]() |
Merci de poster ta solution. Il faudrait mettre ce poste au chaud..... hein L.nico qu'est-ce que tu en penses ????
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com