Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
bonjour,
voilà j'ai un petit soucis, encore ...
bon le titre parle de lui meme :
je dois déclencher l'evenement clicked d'une datawindow depuis l'evenement open de la fenetre.
alors je connais le nom de la colonne et j'ai le numero du row ... sauf que voilà, les arguments du clicked de la dw sont les suivants :
- xpos
- ypos
- row
- dwo
en gros comment je fais, là ? quelqu'un a une idée ?
eventuellement j'pense pouvoir recuperer (bien que j'ai du mal à saisir l'utilité) les xpos et ypos voulus, mais dwo ??? j'ai mis le nom de la colonne, mais ça lui plait pas (puisque c'est le dwo.name, seulement).
enfin j'sais pas si je suis super clair, mais bon !
Hors ligne
Vouloir cliquer sur une DW alors que la fenêtre n'est pas encore visible ressemble à un problème de conception de l'application, peux tu nous expliquer le besoin d'un tel code ?
Sinon pour déclencher ton clicked dans l'open utilises de préférence le post au trigger pour éviter un arrêt un peu brutal de ton application (de manière aléatoire)
Aide PB a écrit:
When the Open event occurs, the controls on the window already exist (their Constructor events have occurred). In the Open event script, you can refer to objects in the window and affect their appearance or content. For example, you can disable a button or retrieve data for a DataWindow.
Some actions are not appropriate in the Open event, even though all the controls exist. For example, calling the SetRedraw function for a control fails because the window is not yet visible.
Changing the WindowState property Do not change the WindowState property in the Open event of a window opened as a sheet. Doing so might result in duplicate controls on the title bar. You can change the property in other scripts once the window is open.
When a window is opened, other events occur, such as Constructor for each control in the window, Activate and Show for the window, and GetFocus for the first control in the window's tab order.When a sheet is opened in an MDI frame, other events occur, such as Show and Activate for the sheet and Activate for the frame.
Sinon pour transformer un nom de colonne en objet dwo
DWObject dwo_macolonne dwo_macolonne = dw_madw.Object.macolonne
Hors ligne
Bonjour,
Si le code de ton événement clicked n'utilise que le numéro de ligne, il suffit :
long ll_row dwobject ldwo ll_row = 5 dw_1.EVENT clicked(0, 0, ll_row, ldwo)
Évidemment, il faut tenir compte des remarques de Chrnico.
Hors ligne