Quoi, tu ne connais pas PB ? Va falloir parcourir tout le forum alors !

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

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.

#1 28-01-2014 08:56:10

Himmreich  
Membre
Lieu: Luxembourg
Date d'inscription: 21-01-2014
Messages: 18
Pépites: 75
Banque: 0

[RESOLU] Question DDDW

rincevent a écrit:

Bonsoir ,

voilà le minimum à coder pour faire d'une colonne une dddw mais il te faut toujours une datawindow (ls_dddw_name ) définie qui fait le retrieve des données

Code: pb

    datawindowchild ldwc_child
    

    ma_dw.Modify(ls_col + ".dddw.name='" + ls_dddw_name + "'")
    ma_dw.Modify(ls_col + ".dddw.displaycolumn='" + ls_displaycolumn_name + "'")
    ma_dw.Modify(ls_col + ".dddw.datacolumn='" + ls_datacolumn_name + "'")

    ma_dw.GetChild(ls_col, ldwc_child)
    ldwc_child.SetTransObject(SQLCA)
    
    ldwc_child.Retrieve()


ça réponds à ta question ?

Bonjour,

Merci pour ce code qui est très interessant et j'aimerais l'utiliser mais ou doit - il etre placé?
dans une methode de la dropdownlistbox?
a quoi correspondent les différentes variables?

Merci pour la réponse

Dernière modification par Himmreich (28-01-2014 14:27:11)

Hors ligne

 

#2 28-01-2014 09:07:47

rincevent  
Modérateur
Award: bf
Lieu: Belgique
Date d'inscription: 06-02-2007
Messages: 722
Pépites: 100,002,023
Banque: 0

Re: [RESOLU] Question DDDW

Salut,

Alors les variables correspondent :

-au nom de la DW existante à utiliser pour la DropDownDW
-au nom de la colonne à utiliser pour l'affichage
-au nom de la colonne à utiliser pour les données

tu peux placer ce code dans un event de ta DW principale, le constructor par exemple.


http://img114.imageshack.us/img114/8519/userbar175801nb.gif
Pourquoi ne puis-je vivre comme n'importe quel être humain ? Pourquoi mon destin est-il de ne pouvoir cesser de me battre ?

Hors ligne

 

#3 28-01-2014 09:19:36

_francois_  
Bienfaiteur du site
Lieu: TOULOUSE
Date d'inscription: 25-03-2010
Messages: 151
Pépites: 178,983,268,111
Banque: 9,223,372,036,854,776,000

Re: [RESOLU] Question DDDW

Le code donnée est pour les dropdowndatawindow c'est différent des dropdownlistbox
Ca sert à avoir des listes déroulantes dans les datawindow et la source des données de la liste déroulante provient d'une requête.

Par exemple tu as une datawindow d_t1 qui fait un select sur table_1
Dans la table_1 tu as un champ fk_id_t2 qui est une clé étrangère qui référence id_t2 de la table table_2
Maintenant tu as une datawindow d_t2 qui fait un select id_t2, lbl_t2 sur table_2

Dans ta d_t1 tu peux soit afficher la valeur de ta clé c'est à dire fk_id_t2 (pas très parlant) soit le libellé correspondant (plus user friendly) dans table_2 c'est à dire lbl_t2
Dans ce cas tu va utiliser une dropdowndatawindow pour que l'utilisateur puisse choisir la clé en fonction du libéllé
Avec cet exemple et le code donné:
ls_dddw_name = 'd_t2' c'est le nom de la datawindow source de la dropdown
ls_displaycolumn_name = 'lbl_t2' c'est le nom de la colonne de d_t2 que tu veux afficher dans ta dropdown
ls_datacolumn_name = 'id_t2' c'est le nom de la colonne dans d_t2 qui aura la même valeur que la colonne et d_t1


Tu cherches à faire quoi exactement ?

Hors ligne

 

#4 28-01-2014 10:56:06

Himmreich  
Membre
Lieu: Luxembourg
Date d'inscription: 21-01-2014
Messages: 18
Pépites: 75
Banque: 0

Re: [RESOLU] Question DDDW

J'ai une requête qui effectue un select de 9 champs.
Le premier etant la clé primaire (un numéro)
Je souhaite afficher les 8 champs sur une meme ligne avec pour séparateur le caractère " | ".
Je souhaiterai que chaque ligne soit affichée dans une dropdownlistbox

je ne sais pas si c'est possible en PB

Hors ligne

 

#5 28-01-2014 11:09:17

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: [RESOLU] Question DDDW

Ca sera une dropdowndatawindow (et non dropdownlistbox)
C'est possible, il faut créer une DW à deux colonnes : la clé primaire (invisible) et la concaténation de tes champs.
Ensuite tu insères cette DW dans une autre et spécifies le style DDDW, colonne value = la clé primaire, colonne display = le concatenate


N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#6 28-01-2014 12:31:21

Himmreich  
Membre
Lieu: Luxembourg
Date d'inscription: 21-01-2014
Messages: 18
Pépites: 75
Banque: 0

Re: [RESOLU] Question DDDW

Merci pour votre aide

Hors ligne

 

#7 28-01-2014 13:56:12

Himmreich  
Membre
Lieu: Luxembourg
Date d'inscription: 21-01-2014
Messages: 18
Pépites: 75
Banque: 0

Re: [RESOLU] Question DDDW

erasorz a écrit:

Ca sera une dropdowndatawindow (et non dropdownlistbox)
C'est possible, il faut créer une DW à deux colonnes : la clé primaire (invisible) et la concaténation de tes champs.
Ensuite tu insères cette DW dans une autre et spécifies le style DDDW, colonne value = la clé primaire, colonne display = le concatenate

J'ai appliqué votre solution. en preview mes données s'affichent correctement mais execution rien ne s'affiche.
J'ai ecrit du code dans le constructeur de la DataWindow ou je fais un Retrieve de la DataWindowChild mais pas de résultat.

Hors ligne

 

#8 28-01-2014 14:04:56

rincevent  
Modérateur
Award: bf
Lieu: Belgique
Date d'inscription: 06-02-2007
Messages: 722
Pépites: 100,002,023
Banque: 0

Re: [RESOLU] Question DDDW

Va falloir donner un peu plus d'infos si tu veux qu'on puisse t'aider, version de PB, valeurs de retour des différents fonctions utilisées (GetChild, SetTransObject, Retrieve) et expliquer ce que tu appelles "en preview"

Si tu vois déjà tes données dans le mode preview de la DW alors tu n'as pas besoin de ce bout de code. (enfin ça dépends de la version de PB)

c'est pour le faire en dynamique ce code, via script, si tu l'as déjà configuré "en dur" dans ta DW tu n'en as pas besoin


http://img114.imageshack.us/img114/8519/userbar175801nb.gif
Pourquoi ne puis-je vivre comme n'importe quel être humain ? Pourquoi mon destin est-il de ne pouvoir cesser de me battre ?

Hors ligne

 

#9 28-01-2014 14:15:51

Himmreich  
Membre
Lieu: Luxembourg
Date d'inscription: 21-01-2014
Messages: 18
Pépites: 75
Banque: 0

Re: [RESOLU] Question DDDW

rincevent a écrit:

Va falloir donner un peu plus d'infos si tu veux qu'on puisse t'aider, version de PB, valeurs de retour des différents fonctions utilisées (GetChild, SetTransObject, Retrieve) et expliquer ce que tu appelles "en preview"

Si tu vois déjà tes données dans le mode preview de la DW alors tu n'as pas besoin de ce bout de code. (enfin ça dépends de la version de PB)

c'est pour le faire en dynamique ce code, via script, si tu l'as déjà configuré "en dur" dans ta DW tu n'en as pas besoin

J'utilise PowerBuilder Classic 12.5 sous Windows 7.
J'ai crée une DataWindow avec deux colonnes? une avec la clé primaire et une autre avec un concaténation de plusieurs champs. Le Preview me donne un apercu de ma DataWindow aperçu correct.
J'ai crée une seconde DataWindow avec une colonne de type 'DropDownDW' ou j'ai indiqué ma première DataWindow, pour Display Column je lui indique la concatenation de champs et pour Data Column la clé primaire. Sur cette meme DataWindow je vais sur l'onglet 'Preview', clic droit, Insert Row et je vois bien une DropDownListBox avec mes valeurs. Jusque la tout fonctionne.
J'integre la DataWindow sur une fenetre et lorsque je lance mon programme la DropDownListBox apparait comme vide...

Je ne sais pas si j'ai été clair dans mes explications

Hors ligne

 

#10 28-01-2014 14:18:15

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: [RESOLU] Question DDDW

Il faut faire un retrieve().


N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#11 28-01-2014 14:21:01

Himmreich  
Membre
Lieu: Luxembourg
Date d'inscription: 21-01-2014
Messages: 18
Pépites: 75
Banque: 0

Re: [RESOLU] Question DDDW

Merci cela fonctionne a présent

Hors ligne

 

#12 28-01-2014 14:22:54

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: [RESOLU] Question DDDW

OK.
J'ai créé une nouvelle discussion pour ta question.
Si c'est résolu pour toi, édite le titre du premier message en ajoutant [RESOLU] dans le titre.


N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#13 28-01-2014 14:50:03

rincevent  
Modérateur
Award: bf
Lieu: Belgique
Date d'inscription: 06-02-2007
Messages: 722
Pépites: 100,002,023
Banque: 0

Re: [RESOLU] Question DDDW

erasorz a écrit:

Il faut faire un retrieve().

Ou encore plus simple cocher la case AutoRetrieve dans l'onglet Edit des propriétés du champ dans le DW Painter


http://img114.imageshack.us/img114/8519/userbar175801nb.gif
Pourquoi ne puis-je vivre comme n'importe quel être humain ? Pourquoi mon destin est-il de ne pouvoir cesser de me battre ?

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22