Répétez apres moi :J'aime PBAdonf. J'aime PBAdonf. J'aime PBAdonf.

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.
  • Index
  •  » Powerscripts
  •  » [RESOLU] Retrieve différent d'une dropdown sur chaque ligne d'une DW tabular

#1 06-01-2009 16:51:01

bombseb  
Membre Geek
Date d'inscription: 06-01-2009
Messages: 40
Pépites: 2,218
Banque: 0

[RESOLU] Retrieve différent d'une dropdown sur chaque ligne d'une DW tabular

Bonjour,

J'ai un problème que je ne sait pas comment résoudre :

J'ai une datawindow de type tabular qui est sensée afficher x lignes. Dans cette dw il y a deux colonnes : Marque et Gamme (les deux sont des dropdown)
La dropdown Gamme dépend de la dropdown Marque. C'est à dire que je veux n'afficher que les gammes de la marque choisie.
Le problème c'est que lors du changement de la marque je ne peut pas faire un getchild puis un Retrieve sur la gamme car il referais le retrieve de la colonne Gamme pour toutes les lignes. Et ca serais le même problème avec un filter....

Est-ce que quelqu'un aurait une idé car la je sèche....

Merci d'avance

Dernière modification par bombseb (08-01-2009 09:59:33)

Hors ligne

 

#2 06-01-2009 16:54:45

pick ouic  
La bourse ou la vie ^^
Award: gearotter
Lieu: Massy-Verrières
Date d'inscription: 29-05-2006
Messages: 4655
Pépites: 933
Banque: 2,147,483,647
Site web

Re: [RESOLU] Retrieve différent d'une dropdown sur chaque ligne d'une DW tabular

bonjour,
la solution, la pour la colonne gamme, tu passes via un bouton de recherche....qui dependra de la valeur de la colonne marque.
au niveau de ta dw, tu affiches juste le libellé.

c'est comme ca que je procede.
A++


Connaitre son ignorance est une grande part de la connaissance.
http://animegifs.free.fr/anime/mazinger/mazinger.gif

Hors ligne

 

#3 07-01-2009 08:42:31

hellkinder  
Kinder Surprise
Award: chocomordutk6
Lieu: Bordeaux
Date d'inscription: 12-09-2006
Messages: 902
Pépites: 0
Banque: 10,524,230,367,490

Re: [RESOLU] Retrieve différent d'une dropdown sur chaque ligne d'une DW tabular

Bonjour bombseb,

Pour ma part j'utilise une solution différente transparente pour l'utilisateur.

Je créé un nouveau champs pour la colonne gamme, cpt_gamme, qui va contenir la dddw filtrée, celle qui apparait à l'écran. Le champs code_gamme va être un champs caché dans lequel toute les gamme de toute les marques apparaissent. Ainsi la bonne valeur pour chaque ligne sera tout le temps positionnée et c'est celle ci que tu updateras.

Lorsque l'utilisateur change le champs cpt_gamme, tu positionne aussi à la meme valeur le champ code_gamme.

Ainsi, lorsque tu fais le retrieve de ta dropdown sur le champ cpt_gamme, les libellés gammes des autres lignes vont disparaitre et tu n'auras plus qu'à copier le libellé du champs code_gamme dans cpt_gamme.

Le code est très simple, apres chaque retrieve de la dropdown :

Code: pb

for i=1 to dw_1.rowcount()
      //rq  on recupere le libelle de la gamme
      li_num=ldw_code_gamme.Find ( "code_gamme = '"+ dw_1.getitemstring(i,"code_gamme") + "'", 1, ldw_code_gamme.rowcount())
      if li_num>0 then 
        ls_libelle_gam = ldw_child2.getitemstring(li_num,"libelle_gamme")
      else 
        ls_libelle_gam = ""
      end if

      //rq  on met le libelle dans le compute
      if dw_1.getitemstring(i,"code_gamme")<>"" and not(isnull(dw_1.getitemstring(i,"code_gamme"))) then
        dw_1.setitem(i,"cpt_gamme",ls_libelle_gam)
      end if
next


et dans l'itemchanged, pour quand l'utilisateur sélectionne la gamme :

Code: pb

ls_gamme=dw_1.getitemstring(dw_1.getrow(),"cpt_gamme")
dw_1.setitem(dw_1.getrow( ),"code_gamme",ls_gamme)

http://img510.imageshack.us/img510/4229/userbar1204625572ha9.gif
"Pour la première fois dans l'histoire de l'humanité, tous les peuples de la Terre ne forment qu'un"

Hors ligne

 

#4 07-01-2009 18:10:47

bombseb  
Membre Geek
Date d'inscription: 06-01-2009
Messages: 40
Pépites: 2,218
Banque: 0

Re: [RESOLU] Retrieve différent d'une dropdown sur chaque ligne d'une DW tabular

oh mais c'est une bonne idée ca ....

je pense que je vais faire légerement différement....

sur le rowfocuschanged je fait un retrieve de la dropdown gamme en fonction de la marque de la ligne courante, et en même temps :

- je rend invisible le compute et visible la dropdown pour la ligne courante
- je rend visible le compute et invisible la dropdown pour les autres lignes

Merci de votre aide !

Hors ligne

 

#5 08-01-2009 08:56:06

hellkinder  
Kinder Surprise
Award: chocomordutk6
Lieu: Bordeaux
Date d'inscription: 12-09-2006
Messages: 902
Pépites: 0
Banque: 10,524,230,367,490

Re: [RESOLU] Retrieve différent d'une dropdown sur chaque ligne d'une DW tabular

bombseb a écrit:

oh mais c'est une bonne idée ca ....

je pense que je vais faire légerement différement....

sur le rowfocuschanged je fait un retrieve de la dropdown gamme en fonction de la marque de la ligne courante, et en même temps :

- je rend invisible le compute et visible la dropdown pour la ligne courante
- je rend visible le compute et invisible la dropdown pour les autres lignes

Merci de votre aide !

De rien
Quant à ton adaptation, cela devrait fonctionner tout aussi bien
Quand cela sera au point, n'oublie pas de mettre [RESOLU] dans le titre du sujet.


http://img510.imageshack.us/img510/4229/userbar1204625572ha9.gif
"Pour la première fois dans l'histoire de l'humanité, tous les peuples de la Terre ne forment qu'un"

Hors ligne

 
  • Index
  •  » Powerscripts
  •  » [RESOLU] Retrieve différent d'une dropdown sur chaque ligne d'une DW tabular

Pied de page des forums

Propulsé par FluxBB 1.2.22