Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour à tous,
Content de trouver un site internet sur PB dans un autre langue que l'anglais ou le chinois (et autres symboles du genre).
Question:
Comment trouver la hauteur d'un champ texte qui est en mode autosize?
J'ai essayé la "dot notation", describe, describe avec evaluate et autres tentatives en vain. Petit rappel, pour qu'un champ change de hauteur dynamiquement selon le texte inscrit :
-la propriété height.autosize doit être à "yes"
-la propriété height doit contenir l'expression suivante : "rowheight()"
Le résultat est que peu importe la hauteur du champ texte, la propriété height me retourne tout le temps "64 rowheight()" (la valeur originale et l'expression). Impossible d'obtenir la hauteur affichée à l'écran.
Merci de votre aide
PB Version 7.0.2 Build 8003
Hors ligne
However if you would like to get the size of the row dynamically resized by the autosize height you need to call a function called rowheight(). This function returns the height of the row after it has been autosized.
Hors ligne
Bonjour cousin québécois !
Je pense que si le champ est en autosize height tu n'as pas besoin de mettre height=rowheight().
En revanche il semblerait que tu puisses utiliser un computed field avec comme expression rowheight() pour récupérer la hauteur de la ligne, ou un truc dans le genre :
dw_1.Describe( "Evaluate('RowHeight()'," + String( ll_row ) + ")" )
PS : sympa la réponse de Pick pour quelqu'un qui apprécie de trouver un forum PB en français
Hors ligne
erasorz a écrit:
Bonjour cousin québécois !
Je pense que si le champ est en autosize height tu n'as pas besoin de mettre height=rowheight().
En revanche il semblerait que tu puisses utiliser un computed field avec comme expression rowheight() pour récupérer la hauteur de la ligne, ou un truc dans le genre :Code: pb
dw_1.Describe( "Evaluate('RowHeight()'," + String( ll_row ) + ")" )
PS : sympa la réponse de Pick pour quelqu'un qui apprécie de trouver un forum PB en français
Merci pour vos suggestions, malheureusement ça ne fonctionne pas!
Premièrement, sans "height=rowheight()" le champ ne s'ajuste pas en fonction du texte, c-a-d le texte saute un ligne mais le champ reste de la même hauteur.
Secundo, l'utilisation du Describe() cité ci-haut me retourne la hauteur de toute la rangée (2768, je travaille sur un freeform). Je voudrais simplement la hauteur du champ texte contenu sur cette rangée.
Hors ligne
Beagle a écrit:
je travaille sur un freeform
je pensais que c'était une grid
Hors ligne
il faut mettre dans un computefield la fonction rowheight
et recuperer cette valeur. ca fonctionne bien chez moi.
A+
Hors ligne