Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour,
J'ai une datawondow (grid) qui a 3 parametres (retrieval arguments) et qui a un champ DRopDownDW ayant egalement des parametres (Dans mon cas les parametres sont les mêmes que ceux du datawondow ).
Lorsque je lance l'exécution, les 3 aruguments de la DRopDownDW me sont demandés or je souhaite les transmettre automatiquement.
Quelqu'un peut-il m'aider?
Hors ligne
Salut,
Essaye ça, si ça peut d'aider
DataWindowChild dwc_toto
DW.GetChild("ta_dropdown", dwc_toto)
dwc_toto.SetTransObject(SQLCA)
dwc_toto.retrieve()
Hors ligne
bonjour nico,
j'ai essayé ce code mais ça ne marche pas.
Hors ligne
Bonjour FOSTA,
Tu as bien décoché l'autoretrieve?
Hors ligne
Oui, j'ai bien décoché l'autoretrieve
Hors ligne
Tu fais bien le retrieve de ta dropdown avant celui de la datawindow principale, et avec les bon paramètres?
Hors ligne
Voici le code que j'utilise:
dw_noter_eleve.settrans( SQLCA) DataWindowChild eleve_child i=dw_noter_eleve.getchild( "d_eleves_par_classe", eleve_child) IF i = -1 THEN MessageBox("Error", "Not a DataWindowChild") eleve_child.settrans( SQLCA) eleve_child.retrieve(gs_code,ls_classe,annee) lds_eleves=CREATE DATASTORE lds_eleves.dataobject='d_eleves_par_classe' lds_eleves.settransobject(SQLCA) nb_linges=lds_eleves.retrieve(gs_code,ls_classe,annee) dw_noter_eleve.retrieve(gs_code,ls_classe,annee )
Hors ligne
Quand tu es en débug pas à pas, le message des dropdown apparaît à quel moment?
Ce ne serait pas lors du retrieve de ta datastore par hasard?
Hors ligne
Bonjour,
A priori dans ton code, tu as une datawindow (dw_noter_eleve) et une datastore (lds_eleves). Il faut donc faire 2 fois le getchild, une fois pour chaque objet (dw_noter_eleve Ok, lds_eleves ?).
Hors ligne
DataWindowChild eleve_child, eleve_child1 dw_noter_eleve.settrans( SQLCA) i=dw_noter_eleve.getchild( "d_eleves_par_classe", eleve_child) IF i = -1 THEN MessageBox("Error", "Not a DataWindowChild") eleve_child.settrans( SQLCA) eleve_child.retrieve(gs_code,ls_classe,annee) lds_eleves=CREATE DATASTORE lds_eleves.dataobject='d_eleves_par_classe' lds_eleves.settransobject(SQLCA) i=lds_eleves.getchild( "d_eleves_par_classe", eleve_child1) IF i = -1 THEN MessageBox("Error", "Not a DataWindowChild") eleve_child1.settrans( SQLCA) eleve_child1.retrieve(gs_code,ls_classe,annee) nb_linges=lds_eleves.retrieve(gs_code,ls_classe,annee) dw_noter_eleve.retrieve(gs_code,ls_classe,annee )
Hors ligne
Merci les gars, j'ai trouvé la solution. Il fait tout simplement préciser le nom de la colonne pour laquelle la on utilise la DropDownDW dans la fonction GetChild('Nom de la colonne de DW','La variable DWChild utilisée').
Merci encore à tous.
Hors ligne
Bonsoir Fosta,
N'oublies pas le [RESOLU]
Hors ligne