Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour a tous, je vous explique mon probleme :
Lorsque j'entre un numero de compte le dropdowdatawindow "classe" se rempli automatiquement et se positionne sur le bon enregistrement,
mon soucis et que la deuxieme dropdowndatawindow "sous classe" doit faire un retrieve en fonction de ce qu'il y a dans la dropdowndatawindow "classe" et je ne sais pas comment passer ce paramètre.
Dernière modification par julien (17-10-2008 11:27:54)
Hors ligne
Si j'ai bien compris, ta dddw "classe" est populée lors d'un changement dans "compte", et tu la rempli en faisant un retrieve en fonction de la valeur de classe. C'est bien ça?
Bon, alors si tu la rempli par retrieve, et que tu veux faire un autre retrieve sur "sous-classe" en fonction de la valeur courante de "classe", il suffit de faire une méthode de synchronisation ( getRow sur classe et retrieve de sous-classe), et tu l'appelle dans l'event itemchanged de la DW concernant classe.
En gros, c'est tout simple...
PS: il y a parfois d'autres problèmes, dis-nous s'il y a autre chose qui coince.
PS2: souvent, il peut être plus aventageux en terme de perf d'utiliser des retrieve all sur tes dddw, et de les filtrer après, en fonction les unes des autres... Sinon ça reste le même principe. C'est à toi de voir.
Hors ligne
Le soucis que j'ai est que les deux dddw sont dans la meme dw et la requete des 2 dddw n'est pas la meme ! le parametre de la dddw "classe" est le n° de compte alors que le parametre de l'autre dddw est la classe situé dans la premiere dddw !
Dernière modification par julien (17-10-2008 09:43:00)
Hors ligne
Hé bien, c'est tout à fait normal...
Bon, je n'ai pas PB ici, donc je donne les noms de méthodes de mémoire, c'est ptet pas juste à 100%.
D'abord, du dois définir 2 datawindowObjects: 1 pour le select de classe, et 1 pour sous-classe.
Dans ta datawindowControle principale, du va donc naturellement définir pour tes colonnes classe et sous-classe le style d'edit "dropDownDatawindow", et assigner les colonnes data et display, par rapport à la dwObject spécifique...
J'essaie d'être complet au cas où, si tu le sais déjà, ignore tout ça... ;)
Ensuite, dans la méthode qui popule classe, on aurait quelque chose comme:
datawindowchild ldc_classe long ll_ret ll_ret = dw_main.getchild(ldc_classe, 'nom_colonne_classe') if ll_ret > 0 then ldc_classe.retrieve( dw_main.getitemnumber( dw_main.getrow(), 'colonne_compte' ) ) else ldc_classe.reset() // + gros msg d'erreur... end if
Et dans une autre méthode, tu fais pareil pour sous-classe...
datawindowchild ldc_ssclasse long ll_ret ll_ret = dw_main.getchild(ldc_ssclasse, 'nom_colonne_sousclasse') if ll_ret > 0 then ldc_ssclasse.retrieve( dw_main.getitemnumber( dw_main.getrow(), 'colonne_classe' ) ) else ldc_ssclasse.reset() // + gros msg d'erreur... end if
Voila, ca répond à ta question?
Hors ligne
ok je vais essayer ca, je te tiens au courant
Hors ligne
y'avait juste quelques modifications à faire pour que ca marche, merci Cortex
Hors ligne
No problemo...
Tu n'es pas le seul à s'être mélangé dans l'implémentation de cette technique.
A mon avis, faudrait qu'un jour quelqu'un qui a du temps nous ponde un tuto sur les dddw de A à Z, ça éviterait pas mal de répétitions au travers des topics...
Bonne route
Hors ligne
Cortex a écrit:
A mon avis, faudrait qu'un jour quelqu'un qui a du temps nous ponde un tuto sur les dddw de A à Z, ça éviterait pas mal de répétitions au travers des topics...
très bonne idée Cortex, on attend ton tuto avec impatience
Hors ligne