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.

#1 11-08-2008 20:58:12

disneb  
Membre completement Geek
Lieu: Bejaia
Date d'inscription: 16-01-2008
Messages: 118
Pépites: 1,622
Banque: 0

[RESOLU] Dropdown datawindow

bonsoir,
voila j'ai une datawindow dont l'une des colonnes est une dropdown datawindow (en list view), lorsque je sélectionne une des données dans la liste, et que je tente de récupérer celle ci avec un getItemstring il me retourne une valeur négative qui n'a rien avoir avec la donnée séléctionée
qqn pourrait il m'aider?

Dernière modification par disneb (11-08-2008 23:46:41)

Hors ligne

 

#2 11-08-2008 21:52:34

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

Re: [RESOLU] Dropdown datawindow

Quel est le type de données que tu souhaites récupérer? Es-tu bien sûr qu'il s'agit d'une valeur alphanumérique. Si ce n'est pas le cas, le getitemstring ne peut pas marcher.(Pour rappel, la valeur que tu récupères au niveau de ta DDDW est la colonne "Data", pas la colonne "Display").


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

Hors ligne

 

#3 11-08-2008 22:21:44

disneb  
Membre completement Geek
Lieu: Bejaia
Date d'inscription: 16-01-2008
Messages: 118
Pépites: 1,622
Banque: 0

Re: [RESOLU] Dropdown datawindow

le type de données est bien "string"

Hors ligne

 

#4 11-08-2008 23:46:15

disneb  
Membre completement Geek
Lieu: Bejaia
Date d'inscription: 16-01-2008
Messages: 118
Pépites: 1,622
Banque: 0

Re: [RESOLU] Dropdown datawindow

Merci Foon je voulais récupérer la donnée séléctionnée dans la list view de ma datawindowdrop, afin qu'on ne puisse selectionner que les données se trouvant dans ma list view, finalement j'ai fait autrement je récupere la donnée de ma datawindow, puis je fais un test!
réglé donc!

Hors ligne

 

#5 12-08-2008 09:07:17

Nyphel  
Membre Power Geek
Lieu: Grenoble
Date d'inscription: 06-05-2008
Messages: 253
Pépites: 12
Banque: 529,705,333,097,693

Re: [RESOLU] Dropdown datawindow

Moi ça m'intéresse bien car je bloque  sur le même problème: j'ai deux listes dans ma datawindow et lorsque je sélectionne une valeur dans la première, je voudrais automatiquement sélectionner celle qui correspond dans la seconde.

Pour le moment j'essaie donc de récupérer toutes les colonnes du row sélectionné dans ma première liste. Je vais donc dans mon DW->ItemChanged() event :

Code: pb

IF dwo.name = 'contract_key_set' THEN  
  DataWindowChild dwc_contract_key_set
  integer li_getchild_ok
  li_getchild_ok = dw_interop.GetChild("contract_key_set", dwc_contract_key_set)

  If li_getchild_ok <> -1 Then 
    integer ll_row
    ll_row = dwc_contract_key_set.GetRow()
    
    long ll_contract_id, ll_contract_version  
    ll_contract_id = dwc_contract_key_set.GetItemNumber(row, 'contract_id')
    ll_contract_version = dwc_contract_key_set.GetItemNumber(row, 'contract_version')
    
    messagebox('1', 'data : ' + string(data))
    messagebox('2', 'row : ' + string(ll_row))
    messagebox('3', 'id : ' + string(ll_contract_id))
    messagebox('4', 'version : ' + string(ll_contract_version))
  else
    messagebox('', 'Can~'t get key sets')
  end if  
END IF


Dans ma datawindow, la colonne représentée par ma liste est bien de type number (Il s'agit ici de contract_key_set).
Dans ma DropDownDataWindow, les infos que je veux récupérer sont aussi de type number (ici contract_id et contract_version).
Le code précédant m'affiche :
. data : 123 (c'est l'ID du contract_key_set)
. row : 3 (le row sélectionné dans la liste déroulante)
. id : 0
. version : 0

Donc j'ai bien le row sélectionné, mais le GetItemNumber me retourne toujours 0 au lieu de la valeur désirée.

Dans le doute j'ai tenté un GetItemString() :

Code: pb

    string ls_contract_id, ls_contract_version  
    ls_contract_id = dwc_contract_key_set.GetItemString(row, 'contract_id')
    ls_contract_version = dwc_contract_key_set.GetItemString(row, 'contract_version')  

Et là j'obtiens bien un crash de Powerbuilder, avec un "type mismatch accessing property..."

_________________________________________________________

Han que je suis bête : j'ai fais appel à "row" au lieu de "ll_row". Ça ne plantait pas puisque "row" est passé en paramètre de l'itemChangedEvent, et indique le row sélectionné sur la datawindow principale, pas sur la datawindowchild qui m'intéresse ;)
Le code qui fonctionne est donc le suivant :

Code: pb

IF dwo.name = 'contract_key_set' THEN  
  DataWindowChild dwc_contract_key_set
  integer li_getchild_ok
  li_getchild_ok = dw_interop.GetChild("contract_key_set", dwc_contract_key_set)

  If li_getchild_ok <> -1 Then 
    integer ll_row
    ll_row = dwc_contract_key_set.GetRow()
    
    long ll_contract_id, ll_contract_version  
    ll_contract_id = dwc_contract_key_set.GetItemNumber(ll_row, 'contract_id')
    ll_contract_version = dwc_contract_key_set.GetItemNumber(ll_row, 'contract_version')
    
    messagebox('1', 'data : ' + string(data))
    messagebox('2', 'row : ' + string(ll_row))
    messagebox('3', 'id : ' + string(ll_contract_id))
    messagebox('4', 'version : ' + string(ll_contract_version))
  else
    messagebox('', 'Can~'t get key sets')
  end if  
END IF

Dernière modification par Nyphel (12-08-2008 09:28:08)

Hors ligne

 

#6 12-08-2008 09:30:45

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] Dropdown datawindow

GetItemString sur un number ne marche pas !
Ta row n'est pas toujours à 1 ?
Il faut faire un find de ta row ...


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

Hors ligne

 

#7 12-08-2008 09:43:32

Nyphel  
Membre Power Geek
Lieu: Grenoble
Date d'inscription: 06-05-2008
Messages: 253
Pépites: 12
Banque: 529,705,333,097,693

Re: [RESOLU] Dropdown datawindow

Heu bha là du coup tout fonctionne bien ;)

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22