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 08-10-2008 11:23:57

FOSTA  
Membre
Date d'inscription: 21-07-2008
Messages: 18
Pépites: 91
Banque: 0

[RESOLU] Comment charger un DropDownListBox grâce à un DataStore?

Bonjour,
Je veux charger un DataStore et charger les données de ce datastore dans un controle DropDownListBox. Mon DataStore je l'affecte à un DataWindow ayant des arguments mais je n'arrive pas à charger mon DataStore.
J'utilise une fonction qui ne renvoie rien. Le code de cette fonction est le suivant:

Code: pb

// charger l'ensemble des dropdownlistbox...

integer i, li_nbr
Datastore lds_var_de_chargement

lds_var_de_chargement= CREATE Datastore

lds_var_de_chargement.dataobject='d_classes_enseignant'
//     lds_var_de_chargement.dataobject=la_datawindow
lds_var_de_chargement.settransobject(SQLCA)

IF nb_criteres=2 THEN
  li_nbr=lds_var_de_chargement.retrieve(critere1,critere2)
  //li_nbr=lds_var_de_chargement.retrieve()
  messagebox("",string(li_nbr)+", "+critere1+", "+string(critere2))
ELSE
  IF nb_criteres=3 THEN
    li_nbr=lds_var_de_chargement.retrieve(critere1,critere2,critere3)
  END IF
END IF

//uo_criteres.ddlb_directions.additem(" - - - - - Tous les élements - - - - -")

For i=1 To lds_var_de_chargement.rowcount()
  
  le_cobo_box.Additem(lds_var_de_chargement.object.data[i,2])
  
NEXT

//uo_criteres.ddlb_directions.text=" - - - - - Tous les élements - - - - -"
destroy lds_var_de_chargement

//return li_nbr


Quelqu'un peut-il m'aider?

Merci

Hors ligne

 

#2 08-10-2008 11:43:01

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

Re: [RESOLU] Comment charger un DropDownListBox grâce à un DataStore?

dans ta boucle construis la chaine de valeurs, libellés séparés par tabulations et slashs, et ensuite affecte ça à la propriéte values de la colonne :

Code: pb

ls_chaine = 'data1~tdisplay1/data2~tdisplay2/data3~tdisplay3'

dw_1.Modify( "la_colonne_ddlb.Values='" + ls_chaine  +  "'" )

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

Hors ligne

 

#3 08-10-2008 12:04:20

foon  
N2iGeek + MangasGeek = foon
Award: bf
Lieu: Bonchamp-Lès-Laval
Date d'inscription: 28-02-2007
Messages: 2485
Pépites: 82
Banque: 9,223,372,036,854,776,000

Re: [RESOLU] Comment charger un DropDownListBox grâce à un DataStore?

Bonjour Fosta,

Juste une question: Il y a une raison pour que tu n'utilises pas une dropdowndatawindow?


Seuls ceux qui ne font rien ne font jamais d'erreurs
http://www.nerdtests.com/images/badge/163124fb7fb459a3.gif

Hors ligne

 

#4 08-10-2008 12:07:17

Cortex  
Modérateur
Lieu: Arlon
Date d'inscription: 08-02-2008
Messages: 194
Pépites: 6,904
Banque: 2,109,818,425,070

Re: [RESOLU] Comment charger un DropDownListBox grâce à un DataStore?

Dis moi FOSTA, quand tu parles de DropDownListBox, tu parles du style d'édition du même nom dans un DataWindow control, ou simplement du contrôle standard?

Parce que je pense qu'erasorz a compris la 1ère version, et moi je me tâte...

Hors ligne

 

#5 08-10-2008 12:16:33

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

Re: [RESOLU] Comment charger un DropDownListBox grâce à un DataStore?

Cortex a écrit:

Parce que je pense qu'erasorz a compris la 1ère version, et moi je me tâte...

tout à fait Thierry...
d'ailleurs j'ai répondu mécaniquement, mais c'est vrai que la question de foon est pertinente également, pourquoi pas un DDDW ?

si c'est un DDLB de fenêtre, dans ta boucle il suffit d'utiliser listboxname.AddItem( item )


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

Hors ligne

 

#6 08-10-2008 13:05:26

FOSTA  
Membre
Date d'inscription: 21-07-2008
Messages: 18
Pépites: 91
Banque: 0

Re: [RESOLU] Comment charger un DropDownListBox grâce à un DataStore?

La variable "li_nbr" renvoie zéro (0) cela m'amene à comprendre qu'il n'y a aucun enregistrement dans la datastore or lorsque je fais un retrieve sur la DataWindow 'd_classes_enseignant' en lui donnant les paramèteres "matricule"(qui est un String) et l'année qui sont mes deux paramètres, j'ai bien l'affichage de mes enregistrements en resultat. je peux donc conclure que la datasore ne charge pas les données.

Je n'utilise pas une dropdowndatawindow parce que j'utilise le controle standard DropDownListBox.

Hors ligne

 

#7 08-10-2008 13:16:39

Cortex  
Modérateur
Lieu: Arlon
Date d'inscription: 08-02-2008
Messages: 194
Pépites: 6,904
Banque: 2,109,818,425,070

Re: [RESOLU] Comment charger un DropDownListBox grâce à un DataStore?

Bien déduit à mon avis.

Ok, on avance là... Donc, en développement ta dw retrieve bien tes données mais à l'exécution tu n'as ni erreurs ni rows.
Bref, y a un truc qui a foiré

Essaie de vérifier que tout est correctement initialisé, si ca tombe, c'est tout bête...

Code: pb

li_nbr=lds_var_de_chargement.retrieve(critere1,critere2)
if li_nbr = 0 then
   // déterminer ce qui va pas...
   if not isvalid( lds_var_de_chargement.object ) then messagebox('Erreur', 'DataObject non initialisé correctement')
   if sqlca.dbhandle() <= 0 then messagebox('Erreur', 'Transaction non connectée')
elseif li_nbr < 0 then
   messagebox('Erreur', 'Erreur lors du retrieve')
end if


T'as vérifier la valeur de tes arguments critere1 et critere2?
T'es sûr d'être sur la même DB en développement et à l'exécution?

Hors ligne

 

#8 08-10-2008 13:52:07

nico  
Modérateur
Award: bf
Lieu: Plélan le grand
Date d'inscription: 08-02-2007
Messages: 273
Pépites: 13
Banque: 9,223,372,036,854,776,000

Re: [RESOLU] Comment charger un DropDownListBox grâce à un DataStore?

N'aurais tu pas unproblème de format avec ton argument année?

Hors ligne

 

#9 08-10-2008 14:16:21

FOSTA  
Membre
Date d'inscription: 21-07-2008
Messages: 18
Pépites: 91
Banque: 0

Re: [RESOLU] Comment charger un DropDownListBox grâce à un DataStore?

Cortex, les arguments renvoient les bonnes valeurs.
J'ai ajouté le code pour verifier s'il y a une erreur mais il n'y a aucun message d'erreur.

Hors ligne

 

#10 08-10-2008 14:41:32

Cortex  
Modérateur
Lieu: Arlon
Date d'inscription: 08-02-2008
Messages: 194
Pépites: 6,904
Banque: 2,109,818,425,070

Re: [RESOLU] Comment charger un DropDownListBox grâce à un DataStore?

FOSTA a écrit:

Cortex, les arguments renvoient les bonnes valeurs.
J'ai ajouté le code pour verifier s'il y a une erreur mais il n'y a aucun message d'erreur.

Attend, ca va pas ça...

La dernière possibilité, c'est que lors du retrieve dans PB tu utilise une connection DB différente de celle que ton appli utilise via SQLCA lors de l'exécution, et que dans un cas il y ait des données et pas dans l'autre...

Je vois pas ce que ça serait d'autre...

Hors ligne

 

#11 20-10-2008 09:30:54

FOSTA  
Membre
Date d'inscription: 21-07-2008
Messages: 18
Pépites: 91
Banque: 0

Re: [RESOLU] Comment charger un DropDownListBox grâce à un DataStore?

J'ai pu résoudre le problème. En fait, il n'y avait pas de problème je me connectais avec le mauvais utilisateur. Le code que je vous ai présenté marche bien.
Merci à tous pour votre aide.

Hors ligne

 

#12 20-10-2008 09:57:01

foon  
N2iGeek + MangasGeek = foon
Award: bf
Lieu: Bonchamp-Lès-Laval
Date d'inscription: 28-02-2007
Messages: 2485
Pépites: 82
Banque: 9,223,372,036,854,776,000

Re: [RESOLU] Comment charger un DropDownListBox grâce à un DataStore?



N'oublies pas le [RESOLU]


Seuls ceux qui ne font rien ne font jamais d'erreurs
http://www.nerdtests.com/images/badge/163124fb7fb459a3.gif

Hors ligne

 

#13 23-10-2008 09:12:38

JCZ  
Builder Power
Award: bf
Lieu: 75019 paris
Date d'inscription: 21-05-2007
Messages: 1724
Pépites: 496,453,703,213
Banque: 9,223,372,036,854,776,000

Re: [RESOLU] Comment charger un DropDownListBox grâce à un DataStore?


je n'y colle !!!!!!!!


Face à l'agression, la puissance de l'intelligence

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22