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





C'est encore moi :-/
J'ai une datawindow dans laquelle je définis une colonne en DropDownListBox.
Le problème semble tout bête, mais je ne parviens pas à le résoudre : comment faire un FindItem() sur ma liste ?
La syntaxe suivante me déclenche une erreur "Accessing external object property..."
ma_datawindow.object.ma_ddlb[1].finditem('text', 0)
Il semblerait que je doive d'abord récupérer ma DropDownListBox avant de vouloir faire un FindItem() dessus, tout comme on fait un GetChild() pour obtenir une DropDownDataWindow avant de faire un Find() dessus... Toutefois je ne trouve pas la fonction adéquate.
Auriez-vous une idée ?
Merci.
Dernière modification par Nyphel (25-08-2008 19:39:21)
Hors ligne














option 1 : utilise un DDDW
option 2 : récupère la définition du DDLB :
String ls_desc ls_desc = dw_1.Describe( 'la_colonne.values' ) ls_desc = "data1~tdisplay1/data2~tdisplay2/data3~tdisplay3"
Hors ligne




Nyphel a écrit:
Il semblerait que je doive d'abord récupérer ma DropDownListBox avant de vouloir faire un FindItem() dessus, tout comme on fait un GetChild() pour obtenir une DropDownDataWindow avant de faire un Find() dessus... Toutefois je ne trouve pas la fonction adéquate.
Ha non, ça marche pas comme ca:
F1 a écrit:
DataWindowChild object
...
A DataWindowChild object is a nested report or a DropDownDataWindow within a DataWindow object...
Il ne faut pas confondre les controles listBox avec le style listBox d'une colonne de DW...
Moi je dirais que l'equivalent de ton findItem, tu le trouveras en jouant avec dw.GetValue() (voir F1).
A toi de jouer now!
Hors ligne




erasorz a écrit:
option 1 : utilise un DDDW
option 2 : récupère la définition du DDLB :Code: pb
String ls_desc ls_desc = dw_1.Describe( 'la_colonne.values' ) ls_desc = "data1~tdisplay1/data2~tdisplay2/data3~tdisplay3"
Ha oui, on est d'accord [comme d'hab], sauf que j'aurais utilisé dw_1.getValue(), mais c'est une question de gout...
Hors ligne





Je vous remercie pour votre aide, je regarde cela ce soir
C'est volontairement que je n'ai pas utilisé une DDDW, car j'insère mes valeurs depuis une boucle en modifiant directement la description de la liste... Mais c'est vrai qu'après coup je regrette. Quand j'ai fait ça, je pensais qu'il faudrait que je créée une autre DW sur laquelle pointerait ma liste, et je voulais éviter cela... Alors qu'en fait on peut insérer des rows dans la DDDW directement ^_^
Hors ligne














2x pour un DDDW
-> tu maintiens ta liste dans la BDD, pas besoin de faire des modifs dans PB
-> tu bénéficies de beaucoup de fonctions natives de DW
Hors ligne





J'ai pris la peine de supprimer mes 13 listes pour faire 1 datawindow et 13 DropDownDataWindow qui la ciblent... Hey bha c'est quand même hachement mieux :-p
Merci encore une fois pour vos précisions, j'en apprends tous les jours
Hors ligne