Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour,
J'ai un bouton qui permet d'envoyer l'identifiant de la ligne en cours à une autre fenêtre servant de détail et contenant un datawinwow avec un "retrieval argument". Il fonctionne bien sauf que le prompt s'affiche pour demander l'argument. Même si le prompt ne reçoit pas de valeur le système continue sans problème. Y' a t-il un moyen d'éviter l’apparition du prompt?
Encore merci à tout le monde.
Dernière modification par biraye (13-03-2013 08:49:10)
Hors ligne
Bonjour,
c'est quoi le prompt ?
sinon, elle est composée de quoi ta dw ? il y a une dropdown datawindow ?
Hors ligne
pick ouic a écrit:
Bonjour,
c'est quoi le prompt ?
merci de la réaction rapide,
Prompt: La fenêtre "Specify retrieval arguments" s'affiche pour qu'on saisisse la valeur de l'argument.
sinon, elle est composée de quoi ta dw ? il y a une dropdown datawindow ?
La fenêtre w2 comprend 2 datawindow avec une relation de type maître-detail sans dropdown datawindow. Mais le datawindow maître doit recevoir un argument d'une autre fenêtre w1.
code de w1 qui appelle w2 est:
Evénement buttonclicked
if isvalid( w2) = false then
OPENSHEETWITHPARM( w2, ls_piece ,w_principale )
else
/* On ferme la fenêtre et l'ouvrir à nouveau
pour prendre en compte la nouvelle valeur */
close ( w2)
OPENSHEETWITHPARM( w1, ls_piece ,w_principale )
end if
Evénement open de w2:
dw_m.settransobject ( sqlca )
messagebox("TEST",Message.StringParm)
dw_m.retrieve(Message.StringParm)
Hors ligne
ta fenetre est elle héritée ?
voir si il y a du code dans l'ancestor...
tu peux faire un test :
tu codes un bouton dans ta w2.
dw_m.settransobject ( sqlca )
dw_m.retrieve("bon argument")
tu lances ensuite directement ta w2. et regardes comment ca reagit.
tu cliques sur le nouveau bouton. le prompt apparait il ?
Hors ligne
pick ouic a écrit:
ta fenetre est elle héritée ?
voir si il y a du code dans l'ancestor...
tu peux faire un test :
tu codes un bouton dans ta w2.Code: pb
dw_m.settransobject ( sqlca ) dw_m.retrieve("bon argument")
tu lances ensuite directement ta w2. et regardes comment ca reagit.
tu cliques sur le nouveau bouton. le prompt apparait il ?
Effectivement la fenêtre est héritée et l'ancêtre appelle
IF dw_m.Retrieve() <> -1 THEN dw_m.SetFocus() dw_m.SetRowFocusIndicator(Hand!) END IF
Avec le bouton sur w2:
Avant même le clique le prompt apparaît. Alors j'ai commenté le code que j'ai affiché et le prompt n'apparait plus. C'est donc l'appelle du ue_retrieve() qui est responsable du prompt.
Hors ligne
Bonjour,
Pour ne pas modifier ton framework, tu as la possibilité de simplement décocher dans ton objet de la fenêtre dans l'événement ue_retrieve :
- Tu mets un commentaire quelconque dans l'événement ue_retrieve (ex : // Extend Ancestor Script désactivé volontairement)
qui te permet d'activer la possibilité de décocher l'option disponible par clic droit: Extend Ancestor Script
Hors ligne
buck a écrit:
Bonjour,
Pour ne pas modifier ton framework, tu as la possibilité de simplement décocher dans ton objet de la fenêtre dans l'événement ue_retrieve :
- Tu mets un commentaire quelconque dans l'événement ue_retrieve (ex : // Extend Ancestor Script désactivé volontairement)
qui te permet d'activer la possibilité de décocher l'option disponible par clic droit: Extend Ancestor Script
Le tuyau a bien marché. Maintenant tout marche comme je le souhaite.
Merci à tout le monde.
Hors ligne