Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Pages: 1
Re-Bonjour,
sur l'evenement itemchanged de ma dropdatawindow, j'aimerais remettre la valeur initiale pour montrer que le traitement de modification a été annulé. (Au depart je pensais que le return sur l'itemchanged aurait un effet mais il ne fait rien).
Je prends un exemple. Ca permettra d'etre plus clair.
datawindow de depart dd_depart
Key Display
Cle1 Valeur1
Cle2 Valeur2
Cle3 Valeur3
Cle4 Valeur4
J'ai par exemple selectionné la premiere ligne. Je souhaite passer sur la 3 ligne mais j'empeche le changement. Le traitement associé a la ligne 3 n'a donc pas lieu. Pourtant visuellement ce n'est plus la ligne 1 que je vois sur la combobox, mais la ligne 3. Je souhaiterais empecher ca et le faire revenir sur la premiere ligne. (sachant que je connais la valeur de Cle1)
J'ai essayé le getchild, puis apres un find et un scrolltorow, mais non on voit Valeur3 au lieu de voir Valeur1
Quelqu'un voit comment s'y prendre pour empecher ca?
Merci d'avance!
Dernière modification par apaoletti (22-03-2010 15:29:27)
Hors ligne
Return value
Set the return code to affect the outcome of the event:
0 (Default) Accept the data value
1 Reject the data value and don't allow focus to change
2 Reject the data value but allow the focus to change
avant le return, il faut remettre le setitem à la valeur initiale
Hors ligne
Bonjour,
Effectivement, j'ai toujours trouvé ce comportement génant, tu refais un SetText (POST) de la valeur courante dans l'évènement ItemChanged avant de refuser la valeur :
POST Settext("Valeur1") RETURN 1
Hors ligne
ok merci pour vos reponses. Je recupere valeur1 a partir de cle1 grace aux fonctions getitem*.
Hors ligne
Pages: 1