Pas d'inquiétude, avec PBAdonf, c'est dans la poche ! ^^

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 06-02-2007 10:03:46

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

[RESOLU] Dropdown filtrée differemment dans une meme DW

Salut à tous!

Alors ca c'est du titre de topic où on sent déjà que ca va être chiant bien que je pense que certains d'entre vous ont déjà été confronté à ce genre de problème.

Le problème, quel est il ?

Eh bien, partons d'une datawindow qui me génèrent plusieurs lignes. Dans cette datawindow, j'ai une colonne qui fait appel à une dropdown d'articles par exemple.

Admettons que dans la premiere ligne de la dw, je selectionne "Produit 1", lorsque je passe a la seconde ligne je voudrais que "Produit 1" n'apparaissent pas. J'ai donc fait un filter, mais lorsque je l'applique, la premiere ligne ne m'affiche plus "Produit 1" mais PDT1 (perd le display, garde le data) ce qui parait logique puisque le filtre masque cette valeur sur la dropdown qui est utilisée par toute les lignes.

Quelqu'un a t il une idée pour palier à ce problème, je pense pas trop original?

Je poursuis les recherches, si j'ai de plus amples informations, croyez moi bien que vous en serez les premiers informés.

C.U


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

 

#2 06-02-2007 10:08:30

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

Re: [RESOLU] Dropdown filtrée differemment dans une meme DW

salut

waouuuuuuuu la question ! (non, je faisais référence à Vista...waouuuuuuuuu !)

En fait, quand tu fais un filtre sur une dddw, le filtre s'applique pour toutes les lignes de cette dddw.

hooooooooooooooo nonnnnnnnnnnnnnnnnnnnn (en réponse à waoooooooooo!)


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

Hors ligne

 

#3 06-02-2007 10:15:09

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] Dropdown filtrée differemment dans une meme DW

hellkinder a écrit:

ce qui parait logique puisque le filtre masque cette valeur sur la dropdown qui est utilisée par toute les lignes.

Oui, ca j'avais bien saisi. La question est comment faire pour qu'il ne me perde pas l'affichage et la valeur de la premiere ligne quand je filtre.

Comme solution, tout ce que je vois c'est de creer un compute à chaque ligne dans lequel je stock la valeur de la dddw et je colle le libellé sur la dddw 'a l'arrache'
Mais n'y a t il pas une solution plus propre?


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 06-02-2007 10:17:33

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

Re: [RESOLU] Dropdown filtrée differemment dans une meme DW

comme solution simple,
je vois une fausse dddw... une fenetre response quoi...
je pense que ce sera plus simple à gérer.


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

Hors ligne

 

#5 06-02-2007 10:27: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] Dropdown filtrée differemment dans une meme DW

LOOOOOOOOOL, ami du bidouillage bonjour...

Effectivement la fenetre response est une alternative à moindre coût.

Sinon en farfouillant sur le net (de toute facon on peut pas faire autre chose que farfouiller), j'ai vu qu'un americain utilisait la meme solution que celle que j'ai proposé...donc je pense que je vais choisir .....  la fenetre response

Youhouuuu Farfouillage Poo0000OOOwwwwwW\/\/\/\/\/\/aaaaaAAAAA44444444


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

 

#6 06-02-2007 10:32:29

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

Re: [RESOLU] Dropdown filtrée differemment dans une meme DW

waoooooooooooooooooooooouaaaaaaaa
effectivement, j'ai deja eu affaire à ce genre de cas...
et c'est un vrai casse tete chinois ! suivant les cas à filtrer...et suivant le nombre de lignes...




DEBUT DU HS




waooooooooooooooooooooooisttaaaaaaaaaaa


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

Hors ligne

 

#7 06-02-2007 10:52: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] Dropdown filtrée differemment dans une meme DW

Vive les casse tete chinois, je vais remanier tout ca à la baguette en utilisant le nem de la colonne...j'ai pas peur des grande muraille, et hors de question que je sois la riziere des developpeurs, ca va marcher pek-in, et si ca marche pas, ya de forte chance que je riz jaune.

Un point tsé tung!!


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

 

#8 06-02-2007 10:55:37

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

Re: [RESOLU] Dropdown filtrée differemment dans une meme DW



je crois que j'ai trop mangé de kinder ce matin...


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

Hors ligne

 

#9 06-02-2007 10:59:25

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] Dropdown filtrée differemment dans une meme DW

désolé de plomber l'ambiance...


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

 

#10 06-02-2007 11:05:20

thezerg  
Modérateur
Award: calimero
Lieu: Bordeaux
Date d'inscription: 12-09-2006
Messages: 966
Pépites: 22,449
Banque: 154,120,629,477,379,100

Re: [RESOLU] Dropdown filtrée differemment dans une meme DW

et sinon un restau chinois ça te dis?

Hors ligne

 

#11 06-02-2007 11:06:39

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] Dropdown filtrée differemment dans une meme DW

je nem pas ca


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

 

#12 06-02-2007 11:08:54

thezerg  
Modérateur
Award: calimero
Lieu: Bordeaux
Date d'inscription: 12-09-2006
Messages: 966
Pépites: 22,449
Banque: 154,120,629,477,379,100

Re: [RESOLU] Dropdown filtrée differemment dans une meme DW

arretes de pourir le post quoi :x

Hors ligne

 

#13 06-02-2007 11:18:28

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

Re: [RESOLU] Dropdown filtrée differemment dans une meme DW

on arrete nos chinoiseries




FIN
DU
HS



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

Hors ligne

 

#14 06-02-2007 15:18:59

shahin  
Modérateur
Award: bf
Lieu: val de marne
Date d'inscription: 26-09-2006
Messages: 938
Pépites: 8,675,050,269
Banque: 16,218,225,127,617

Re: [RESOLU] Dropdown filtrée differemment dans une meme DW

Bon, j'ai deux liens que j'ai volés sur ma page perso :

1) pbdr.com : Ah zut le lien marche plus (TCP ERROR)
2) Multi-Key DropDownDataWindows par Breck Carter en juillet 1996 (je suis sûr qu'il y en a qui n'étaient pas encore nés)


creer un compute à chaque ligne

Moi je verrai plutôt un champs texte qui serait la plupart du temps au dessus (bring to front) de la dropdown


never let people work on more than one thing at once.

Hors ligne

 

#15 06-02-2007 16:11:47

shahin  
Modérateur
Award: bf
Lieu: val de marne
Date d'inscription: 26-09-2006
Messages: 938
Pépites: 8,675,050,269
Banque: 16,218,225,127,617

Re: [RESOLU] Dropdown filtrée differemment dans une meme DW

Pas de réponses ? Me voilà obligé de me répondre à moi même.

shahin a écrit:

1) pbdr.com : Ah zut le lien marche plus (TCP ERROR)

Bon, mon premier lien est revenu : How to filter Dropdown Datawindows


never let people work on more than one thing at once.

Hors ligne

 

#16 06-02-2007 16:38:56

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] Dropdown filtrée differemment dans une meme DW

Merci beaucoup shanin, désolé pour le temps de réponse..

Je vais etudier tes solutions..pour l'instant j'ai reussi avec un compute mais qui doit faire a peut pres la meme chose que prévu dans le champs texte que tu propose..enfin je dis ca mais j'ai pas encore, regardé les liens...je me plonge dedans demain, promis.


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

 

#17 06-02-2007 17:03:04

shahin  
Modérateur
Award: bf
Lieu: val de marne
Date d'inscription: 26-09-2006
Messages: 938
Pépites: 8,675,050,269
Banque: 16,218,225,127,617

Re: [RESOLU] Dropdown filtrée differemment dans une meme DW

hellkinder a écrit:

j'ai reussi avec un compute

ça c'est le plus important. Eh bien bravo


j'ai pas encore, regardé les liens...

Moi, non plus. Quand c'est en anglais, je ne lis qu'avec une baïonnette dans le dos...


never let people work on more than one thing at once.

Hors ligne

 

#18 06-02-2007 17:17:29

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

Re: [RESOLU] Dropdown filtrée differemment dans une meme DW

hellkinder a écrit:

j'ai reussi avec un compute

tu peux rappeler le principe de l'utilisation du compute? c'était bien ça :

de creer un compute à chaque ligne dans lequel je stock la valeur de la dddw et je colle le libellé sur la dddw 'a l'arrache'

<hs>

shahin a écrit:

Moi, non plus. Quand c'est en anglais, je ne lis qu'avec une baïonnette dans le dos...

Ben alors grâce à PB tu dois avoir plein de cicatrices dans le dos...

</hs>


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

Hors ligne

 

#19 08-02-2007 17:48:50

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] Dropdown filtrée differemment dans une meme DW

oula désolé, j'avais pas vu que vosu aviez posté!

Donc voila ma solution... (cochon land)

Bon alors vu que mon code est enorme, je vais essayer de vous expliquer avec un exemple :

LE BUT : je veux selectionner une position dans une dddw et lorsque j'en selectionne une sur la premiere ligne de ma datawindow, je ne veux pas que cette position selectionnée s'affiche à la deuxième ligne.



LE PRINCIPE : On utilise un champs dit "compute" que l'on va filtrer, et un champs code_position correspondant a l'entrée base, qui lui est basé sur la meme dddw mais qui n'est pas filtré, afin de fournir les informations manquantes (libelles) au champ compute



LE CODE (miam) :

voila ma datawindow :

http://img178.imageshack.us/img178/2137/tutofiltre1gf7.th.jpg

le champs superieur est le compute cpt_position, l'autre le champs code_position.

Ces deux champs sont asscoiés à la meme dddw.

Lorsque on génère les lignes de la dw, on fait un retrieve de la dddw sur chacun des champs :

Code: pb

//Initialisation de la dddw des positions
dw_reservation.getchild("code_position",ldw_child2)
ldw_child2.settransobject(SQLCA)
ldw_child2.retrieve()
      
dw_reservation.getchild("cpt_position",ldw_child1)
ldw_child1.settransobject(SQLCA)
ldw_child1.retrieve()

puis, dans l'event itemchange de ta dw (moi c dw_reservation),
tu construis une datastore que tu remplis avec les enregistrements de ta dw qui ont code_position rempli.

Code: pb

//rq  on rempli la datastore des enregistrements dont code position rempli
  for i=1 to dw_reservation.rowcount()
    if dw_reservation.getitemstring(i,"code_position")<>"" and not(isnull(dw_reservation.getitemstring(i,"code_position"))) then
      dw_reservation.rowscopy( i, i, Primary!, lds_reservation, 1, Primary!)
    end if
  next

A partir de cette datastore, tu peux construire ton filtre :

Code: pb

if lds_reservation.rowcount() > 0 then
    ls_filtre = "code_position <> '"+lds_reservation.getitemstring(1,"code_position") +"'"
    if lds_reservation.rowcount() > 1 then
      for i = 2 to lds_reservation.rowcount()
        ls_filtre = ls_filtre + " and code_position <> '"+lds_reservation.getitemstring(i,"code_position")+"'"
      next
    end if
  end if

Bon il doit y avoir + optimisé, mais au moins c'est lisible = maintenable

Tu appliques ton filtre seulement au champs compute, cpt_position

Code: pb

ldw_child1.setfilter("")
  ldw_child1.filter()

Vu que là on filtre sur la colonne cpt_position, les autres lignes de la dw vont perdre leur libelle dans le champs cpt_position, mais le champs non filtré code_position est toujours là..donc il reste plus qu'a mettre le libelle de code_parution, dans cpt_position.

Code: pb

for i=1 to dw_reservation.rowcount()
      //rq  on recupere le libelle de la position
      li_num=ldw_code_position.Find ( "code_position = '"+ dw_reservation.getitemstring(i,"code_position") + "'", 1, ldw_code_position.rowcount())
      if li_num>0 then 
        ls_libelle_pos = ldw_child2.getitemstring(li_num,"libelle_pos")
      else 
        ls_libelle_pos = ""
      end if
next
//rq  on met le libelle dans le compute
if dw_reservation.getitemstring(i,"code_position")<>"" and not(isnull(dw_reservation.getitemstring(i,"code_position"))) then
        dw_reservation.setitem(i,"cpt_position",ls_libelle_pos)
      end if

Dans l'itemchange toujours, si c'est le champs cpt_position qui est modifié, tu copie cette valeur dans le champs code_position de la meme ligne afin de pouvoir recuperer son libellé :

Code: pb

ls_position=dw_reservation.getitemstring(dw_reservation.getrow(),"cpt_position")
dw_reservation.setitem(dw_reservation.getrow( ),"code_position",ls_position)

Enfin il ne reste plus qu'a cacher le champs code_position.



L'avantage, c'est que si on update la datawindow ou qu'on fait un retrieve, c'est le champs code_position qui est utilisé.
Lors d'un retrieve sur la datawindow, il suffit de refaire le code du "collage de libellé" apres le retrieve de la dw et banco!

http://img316.imageshack.us/img316/7435/tutofiltre2wq0.th.jpg


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

 

#20 08-02-2007 18:54:29

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

Re: [RESOLU] Dropdown filtrée differemment dans une meme DW

Un Grand Merci à toi pour ta solution !


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

Hors ligne

 

#21 08-02-2007 19:34:23

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

Re: [RESOLU] Dropdown filtrée differemment dans une meme DW




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

Hors ligne

 

#22 09-02-2007 09:00:43

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] Dropdown filtrée differemment dans une meme DW

De rien les pbdonfeurs! :D


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

 

Pied de page des forums

Propulsé par FluxBB 1.2.22