Powerbuilder pour les completement Geeks !

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.

#1 13-03-2007 16:13:35

poche  
Membre Power Geek
Date d'inscription: 19-12-2006
Messages: 282
Pépites: 2,392
Banque: 0

[RESOLU] Lancer un évènement d'une datawindow

Voila, dans une datawindow j'ai mis un bouton à chaque ligne du tableau, lorsque je click dessus ça marche super (pour se faire j'utilise l'évènement buttonclicked de la dw, il y a en paramètre la ligne du bouton que j'ai clické), mais je veux que sa marche aussi par appuis sur la touche "+"
Comment faire??????

Hors ligne

 

#2 13-03-2007 16:18:06

thezerg  
Modérateur
Award: calimero
Lieu: Bordeaux
Date d'inscription: 12-09-2006
Messages: 966
Pépites: 22,449
Banque: 154,120,629,477,379,100

Re: [RESOLU] Lancer un évènement d'une datawindow

avec l'évenement key peut etre?

Hors ligne

 

#3 13-03-2007 16:25:53

poche  
Membre Power Geek
Date d'inscription: 19-12-2006
Messages: 282
Pépites: 2,392
Banque: 0

Re: [RESOLU] Lancer un évènement d'une datawindow

Moi aussi je pense qu'il faut utiliser l'évènement key de la fenêtre mais comment lancer un évènement avec des paramètres
Voici l'évènement que je doit appeler: buttonclicked(long row, long actionreturncode, dwobject dwo) returns long[pbm_dwnbuttonclicked]

Hors ligne

 

#4 13-03-2007 16:31:02

thezerg  
Modérateur
Award: calimero
Lieu: Bordeaux
Date d'inscription: 12-09-2006
Messages: 966
Pépites: 22,449
Banque: 154,120,629,477,379,100

Re: [RESOLU] Lancer un évènement d'une datawindow

LaDW.event nomDetonEvenement(parametre)

Hors ligne

 

#5 13-03-2007 16:38:16

foon  
N2iGeek + MangasGeek = foon
Award: bf
Lieu: Bonchamp-Lès-Laval
Date d'inscription: 28-02-2007
Messages: 2486
Pépites: 85
Banque: 9,223,372,036,854,776,000

Re: [RESOLU] Lancer un évènement d'une datawindow

Pour ma part, j'utilise un événement créé sur l'objet datawindow:

Code: pb

//we_dwnkey( keycode key, unsignedlong keyflags ) returns long
//event_ID [pbm_dwnkey]

Long l_l_actionreturncode

IF Key = 43 THEN

   RETURN ( This.Event buttonclicked(This.GetRow(), l_l_actionreturncode, This.Object) )

END IF

Seuls ceux qui ne font rien ne font jamais d'erreurs
http://www.nerdtests.com/images/badge/163124fb7fb459a3.gif

Hors ligne

 

#6 14-03-2007 07:54:49

poche  
Membre Power Geek
Date d'inscription: 19-12-2006
Messages: 282
Pépites: 2,392
Banque: 0

Re: [RESOLU] Lancer un évènement d'une datawindow

sa marche bien mais le problème c'est lorsque je déplace le focus dans la datawindow et j'appuis sur la touche "+", c'est tjrs le même bouton qui s'actionne, il ne suit pas le focus

Voici mon code que j'ai mis dans l'évènement KEY():

Code: pb

choose case key
  case keyadd!
         dw_1.event buttonclicked(dw_1.getrow() ,0,dw_1.object)
end choose

Hors ligne

 

#7 14-03-2007 08:19:42

thezerg  
Modérateur
Award: calimero
Lieu: Bordeaux
Date d'inscription: 12-09-2006
Messages: 966
Pépites: 22,449
Banque: 154,120,629,477,379,100

Re: [RESOLU] Lancer un évènement d'une datawindow

eu désolé mais cest pas clair pour moi tu peux faire un screen pour m'éclaircir?

Hors ligne

 

#8 14-03-2007 08:23:55

foon  
N2iGeek + MangasGeek = foon
Award: bf
Lieu: Bonchamp-Lès-Laval
Date d'inscription: 28-02-2007
Messages: 2486
Pépites: 85
Banque: 9,223,372,036,854,776,000

Re: [RESOLU] Lancer un évènement d'une datawindow

poche a écrit:

sa marche bien mais le problème c'est lorsque je déplace le focus dans la datawindow et j'appuis sur la touche "+", c'est tjrs le même bouton qui s'actionne, il ne suit pas le focus

Voici mon code que j'ai mis dans l'évènement KEY():

Code: pb

choose case key
  case keyadd!
         dw_1.event buttonclicked(dw_1.getrow() ,0,dw_1.object)
end choose

Tu as vérifié que ton dw_1.getrow() a bien changé lorsque tu déplaces le focus?
Sinon, il faudra le forcer en faisant un SetRow() à chaque changement de ligne.


Seuls ceux qui ne font rien ne font jamais d'erreurs
http://www.nerdtests.com/images/badge/163124fb7fb459a3.gif

Hors ligne

 

#9 14-03-2007 08:24:17

poche  
Membre Power Geek
Date d'inscription: 19-12-2006
Messages: 282
Pépites: 2,392
Banque: 0

Re: [RESOLU] Lancer un évènement d'une datawindow

sinon j'ai essayé ton code "foon" et sa marche mais sa pose le même problème : c'est lorsque je déplace le focus dans la datawindow et j'appuis sur la touche "+", c'est tjrs le même bouton qui s'actionne, il ne suit pas le focus.
Dans le code ci-dessous, je pense que c'est le paramètre qui n'est pas le bon -> This.GetRow(), ici on sélection la ligne et non ou est le focus mais je ne me rappel plus comment faire!!!!!

Code: pb

 This.Event buttonclicked(This.GetRow(), l_l_actionreturncode, This.Object)

Hors ligne

 

#10 14-03-2007 08:28:48

poche  
Membre Power Geek
Date d'inscription: 19-12-2006
Messages: 282
Pépites: 2,392
Banque: 0

Re: [RESOLU] Lancer un évènement d'une datawindow

Dans l'évènement rowfocuschanged de la datawindow j'ai mis :

Code: pb

long curr_row

//dé-sélectionner tout
selectRow(0,false)

//trouver la ligne courante
curr_row = dw_1.getRow( )
//sélectionner la ligne courante
dw_1.selectRow( curr_row, true)
dw_1.setrow( curr_row)

et lorsque je fait un getrow(), c'est tjrs le même problème!!

Hors ligne

 

#11 14-03-2007 08:35:59

foon  
N2iGeek + MangasGeek = foon
Award: bf
Lieu: Bonchamp-Lès-Laval
Date d'inscription: 28-02-2007
Messages: 2486
Pépites: 85
Banque: 9,223,372,036,854,776,000

Re: [RESOLU] Lancer un évènement d'une datawindow

Normalement, le GetRow prend la ligne courante dans la datawindow.
Pour récupérer la ligne sélectionnée, il faut utiliser la méthode GetSelectedRow.


Seuls ceux qui ne font rien ne font jamais d'erreurs
http://www.nerdtests.com/images/badge/163124fb7fb459a3.gif

Hors ligne

 

#12 14-03-2007 08:42:18

poche  
Membre Power Geek
Date d'inscription: 19-12-2006
Messages: 282
Pépites: 2,392
Banque: 0

Re: [RESOLU] Lancer un évènement d'une datawindow

si j'utilise getselectedrow(), en paramètre faut que je lui donne ou est le focus????
comment faire!!!!!!!!!

Hors ligne

 

#13 14-03-2007 08:56:19

pick ouic  
La bourse ou la vie ^^
Award: gearotter
Lieu: Massy-Verrières
Date d'inscription: 29-05-2006
Messages: 4658
Pépites: 942
Banque: 2,147,483,647
Site web

Re: [RESOLU] Lancer un évènement d'une datawindow



HS : Serais-tu un débutant ?



Connaitre son ignorance est une grande part de la connaissance.
http://animegifs.free.fr/anime/mazinger/mazinger.gif

Hors ligne

 

#14 14-03-2007 09:13:22

foon  
N2iGeek + MangasGeek = foon
Award: bf
Lieu: Bonchamp-Lès-Laval
Date d'inscription: 28-02-2007
Messages: 2486
Pépites: 85
Banque: 9,223,372,036,854,776,000

Re: [RESOLU] Lancer un évènement d'une datawindow

poche a écrit:

si j'utilise getselectedrow(), en paramètre faut que je lui donne ou est le focus????
comment faire!!!!!!!!!

Au niveau de GetSelectedRow, il faut que tu lui passes en paramètre le numéro de la ligne à partir de laquelle
tu souhaites rechercher la première ligne sélectionnée. Dans ton cas, je pense qu'il faut mettre 0,
mais je n'ai pas suffisamment d'éléments pour en être sûr.

Sinon, tu as utilisé le débugger PB pour tester le retour de dw_1.GetRow()?


Seuls ceux qui ne font rien ne font jamais d'erreurs
http://www.nerdtests.com/images/badge/163124fb7fb459a3.gif

Hors ligne

 

#15 14-03-2007 09:25:31

thezerg  
Modérateur
Award: calimero
Lieu: Bordeaux
Date d'inscription: 12-09-2006
Messages: 966
Pépites: 22,449
Banque: 154,120,629,477,379,100

Re: [RESOLU] Lancer un évènement d'une datawindow

la je pense que tu as tous les éléments pour réussir

Hors ligne

 

#16 14-03-2007 09:57:43

poche  
Membre Power Geek
Date d'inscription: 19-12-2006
Messages: 282
Pépites: 2,392
Banque: 0

Re: [RESOLU] Lancer un évènement d'une datawindow

En effet, je suis un débutant, je suis apprentis dans une entreprise et j'ai commencé sur PB que depuis Octobre 2006. Je développe sur PB seuleument deux semaines par mois. Donc voilà pourquoi mon niveau est faible!!!
Excusez moi si des fois mes questions sont primaires, mais je vous remercis beaucoup pour votre aide, elle m'ai très précieuse et très enrichissante.

Sinon je viens juste de résoudre mon problème: je n'avais pas appelé la fonction Scrolltorow et je faisais un setfilter trop tôt dans le programme.

Merci encore pour votre aide.

Hors ligne

 

#17 14-03-2007 10:02:45

foon  
N2iGeek + MangasGeek = foon
Award: bf
Lieu: Bonchamp-Lès-Laval
Date d'inscription: 28-02-2007
Messages: 2486
Pépites: 85
Banque: 9,223,372,036,854,776,000

Re: [RESOLU] Lancer un évènement d'une datawindow

De rien.

Tu verras, ce qu'il y a de bien avec PB, c'est qu'on arrive toujours à ses fins


Seuls ceux qui ne font rien ne font jamais d'erreurs
http://www.nerdtests.com/images/badge/163124fb7fb459a3.gif

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22