Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Pages: 1
Bonjour,
J'ai une DataWindow de type Grid et certains des champs de saisie sont des drop down data windows.
Je dois pouvoir effectuer un retreave sur une dddw en fonction de la valeur saisie dans une autre.
Je ne trouve pas par contre comment obtenir la dddw sur une ligne en particulier.
la methode getChild, le fait sur la datawindow d'une manière générale, mais comment le faire sur une ligne en particulier du style.
dw.Row[numeRow].getChild("maddw")
J'espère être clair.
Eric
Dernière modification par eric69 (07-01-2013 14:06:52)
Hors ligne
Bonjour,
je ne pense pas que ce soit faisable.
si tu fais un retrieve sur la colonne dddw, ce sera donc un retrieve generale pour toutes les lignes de cette colonne.
une solution, au lieu de mettre une dddw, tu la remplaces par une colonne normale suivi d'un bouton qui te permet d'accéder à la liste.
bien sur, cela veut dire que tu dois faire des controles de validité de la valeur du champ saisi.
A+++
Hors ligne
Bonjour,
Merci de la rapidité de ta réponse mais je suis etonné, c'est trés classique comme besoin de devoir afficher dans une grille de saisie, une dddw en fonction d'une valeur saisie dans cette même ligne.
Peut être n'ais-je pas été clair dans ma question ?
Hors ligne
Le truc c'est pas que en fait tu n'as pas besoin de récupérer la DDDW pour une ligne précise ?
Un peu comme l'EditControl, y en a qu'un pour la DW et il se trouve à l'intersection de la ligne et de la colonne courante donc quand on veut mettre quelquechose dedans pas besoin de spécifier de ligne ou de colonne puisque y a qu'un edit control?
Je te dirais d'essayer de faire ce que tu veux sans te préoccuper des lignes et de voir si le résultat te conviens.
C'est dur à expliquer avec du texte tout ça
Hors ligne
Je viens de tester et le GetChid que je fais s'execute pour l'ensemble des lignes.
DataWindowChild dwc
if dw_.GetChild("cpt_num", dwc) > 0 then
dwc.settransobject(SQLCA)
dwc.retrieve(as_codeentite)
Est-ce qu'en passant par l'object, je ne pourrais pas l'atteindre ?
Quand je fais ca, j'obtiens la valeur, mais est-ce que je ne pourrais pas atteindre l'objet dddw ?
String(dw.object.ent_code[ll_row])
Hors ligne
ce que j'essaye de dire c'est que je pense qu'il ne faut pas se dire qu'il y a une DDDW différente par ligne, il faut se dire qu'il y a une DDDW pour l'ensemble des lignes (puisque tu ne saurai pas éditer plus d'une ligne à la fois donc pas besoin de plusieurs DDDW)
par contre toi tu peux avoir besoin que la DDDW retrieve des choses différentes sur la ligne 1 et sur la ligne 2
Alors tu fais un getchild de la DDDW au changement de ligne et tu la modifie comme tu veux pour qu'elle corresponde à ce dont tu as besoin pour cette ligne. pour que quand tu déroule la DDDW elle te présente les bons items pour cette ligne
non ?
à voir si ça te modifie pas les valeurs des autres lignes mais je pense pas puisque tu ne déroule la DDDW que sur la ligne courante
Dernière modification par rincevent (04-01-2013 15:06:05)
Hors ligne
Ok, je viens de comprendre.
Vu qu'on ne vois la dddw déroulé que lorsqu'on ai sur un ligne c'est à ce moment là que je dis lui faire le retreave en fonction des valeurs de ma ligne.
Pas bête !!!.
J'essais ça dès lundi, mais je suis confiant.
Je te tiens au courant.
Merci beaucoup
Hors ligne
Voilà, c'est ça que je voulais dire, après reste à vérifier que c'est correct, n'oublie pas de nous dire quoi lundi ;-)
Hors ligne
Hors ligne
Bonjour,
Bon j'ai testé et ca fonctionne.
Mais bon, ca fait une palette de code à écrire .
Merci de ton aide en tout cas
Hors ligne
merci pour le feedback
Hors ligne
Pages: 1