Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour, en simplifiant un peu, voilà le composite
_HEADER_____________ -------------------- | | | dw_entete_1 | | | -------------------- | | | dw_entete_2 | | | -------------------- _DETAIL_____________ -------------------- | | | dw_donnees | | | -------------------- _FOOTER_____________ -------------------- | | | dw_pied | | | --------------------
Sur la première page du rapport, j'affiche la totalité des DW.
Sur la seconde page, j'aimerais ça :
_HEADER_____________ -------------------- | | | dw_entete_1 | | | -------------------- _DETAIL_____________ -------------------- | | | dw_donnees | | | | | | | | | | | | | | | | | | | | | | | | | --------------------
Pour masquer les DW, une expression simple fait l'affaire :
// dw_entete1.Visible & dw_pied.Visible if( page() = 1, 1, 0 )
Par contre pas possible de modifier le Height du header et du footer, il n'y a pas le petit bouton [=] sur cette propriété.
Sachant que je ne peux (veux?) pas utiliser un Modify en powerscript, est-ce que je peux me , ou une âme charitable aurait une ?
Hors ligne
Mouais,
A part tout mettre dans le detail, utiliser la propriété "Autosize height" et gérer la taille et la position de tes dw
par expression en fonction du numéro de page (Pour simuler le comportement du header et du footer), je ne vois pas
Hors ligne
Tu peux gérer tout cela dans l'event printpage du controle pour obtenir ce que tu veux.
Mais pour info, en PB11 le header et le footer sont aussi autoheight Sybase
Hors ligne
foon a écrit:
Mouais,
A part tout mettre dans le detail, utiliser la propriété "Autosize height" et gérer la taille et la position de tes dw
par expression en fonction du numéro de page (Pour simuler le comportement du header et du footer), je ne vois pas
bah malheureusement non...
si je mets dw_pied dans le détail, j'aurai dans le cas où dw_donnees dépasse la taille impartie dw_pied sur la 2ème page :
_PAGE1_____________ -------------------- | | | dw_entete_1 | | | -------------------- | | | dw_entete_2 | | | -------------------- -------------------- | | | dw_donnees | | | -------------------- _PAGE 2_____________ -------------------- | | | dw_donnees | | (suite) | -------------------- -------------------- | | | dw_pied | | | --------------------
si je mets dw_entete1 et dw_entete2 dans le détail, dw_entete1 ne sera pas affiché sur les pages 2 à N...
Chrnico a écrit:
Tu peux gérer tout cela dans l'event printpage du controle pour obtenir ce que tu veux.
j'ai pas trop envie de commencer à coder dans le dw control, il se trouve dans une page générique
Chrnico a écrit:
Mais pour info, en PB11 le header et le footer sont aussi autoheight Sybase
seulement en PB11 ?
Hors ligne
€R@$ØRz a écrit:
seulement en PB11 ?
Je viens de vérifier en 10.5: Tu l'as aussi.
Aide PB10.5 a écrit:
In PowerBuilder 10.5, the Height.Autosize property can be set on any band of a DataWindow. In earlier PowerBuilder releases, this property was available only for the Detail band.
Restrictions on the Height.Autosize property
· The Height.Autosize property is not supported on DataWindows with Graph, Label, OLE, or Rich Text presentation styles.
· Nested report overflow to the next page is supported in Detail bands only.
· Bands cannot be autosized if autosizing would preclude the display of at least one Detail band row per page.
Selecting the Height.Autosize property sets the minimum height for the band, allowing it to display the entire content of a picture or a nested report. You can select this property on the General tab of the Properties view for a DataWindow band. At runtime you can modify the Height.Autosize property for a DataWindow band in PowerScript®:
dw_2.modify ("DataWindow.header.height.autosize=yes")
dw_2.modify ("DataWindow.footer.height.autosize=no")
For more information, see the description of Bandname.Property in the DataWindow Reference or the online Help.
Tu es sur quelle version PB?
Hors ligne
11.2
Hors ligne
Alors essaye en mettant la hauteur de tes datawindows cachées à 0
dans le header et le footer.
Hors ligne
ouais mais y'a plein d'autres trucs en plus des DW... (lignes, labels...)
à moins de faire un sous-composite avec tout ce qu'il y a dans le footer et tout ce qu'il y a dans le header de la page 1
je vais tester ça
Hors ligne
foon a écrit:
Alors essaye en mettant la hauteur de tes datawindows cachées à 0
dans le header et le footer.
il ne le prend pas en compte => même en autosize il réserve la même place au header sur les pages de suites
apparemment y'a pas de moyen d'avoir un header.height différent dans un même document (?)
Hors ligne
T'es sur ? Même en mettant la hauteur de ton header à 0 à la conception de la DW pour le laisser s'agrandir ensuite par PB ?
Hors ligne
Chrnico a écrit:
T'es sur ? Même en mettant la hauteur de ton header à 0 à la conception de la DW pour le laisser s'agrandir ensuite par PB ?
yep... en faisant le contraire (dw h=0 sur la 1ère page) on remarque qu'il se base sur la hauteur du header de la 1ère page pour les autres...
Hors ligne
C'est naze
Il y a aucun intérêt à implémenter un autoheight s'il n'est pas recalculer pour chaque élément du groupe.
Bon je retire mon "merci Sybase"...
Hors ligne