Après windows pour les nuls, voici PB pour les bons (ou presque).

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 02-03-2009 11:14:11

micmx  
Membre Geek
Date d'inscription: 02-02-2009
Messages: 84
Pépites: 1,028
Banque: 1,383,846,119

DDDW d'une DW alimenté par une table dynamique

Bonjour à tous !

Et bien voilà, j'ai créé une DW1 contenant deux champs qui proviennent d'une table Y (qui ne sera pas la table source réel)
Cette DW1 sert de DataObject pour la DDDW de ma DW2.

Ensuite dans mon programme , j'affiche cette DW2 et dans mon manager j'ai :

Code: pb

string ls_newSQL
int li_i
datawindowchild ldwc_ssoptions

ls_newSQL="select * from catowner."+ w_sous_menu.is_dyn_table

//of_setdataobject("dw_sous_oper")
//of_getds().settransObject(sqlca)
//li_i=of_getds().SetSQLSelect(ls_NewSQL)
//this.of_retrieve( )

w_sous_menu.dw_main.dataobject="dw_sous_probleme"
w_sous_menu.dw_main.getChild("s_options",ldwc_ssoptions)
//ldwc_ssoptions.modify( "dataobject='dw_sous_oper'")
ldwc_ssoptions.setsqlselect(ls_NewSQL)

//ldwc_ssoptions.setcolumn( 2)
w_sous_menu.dw_main.settransobject( sqlca)
w_sous_menu.dw_main.retrieve()
w_sous_menu.dw_main.insertRow(0)

J'ai procédé de cette manière car :
* La table n'est pas connue d'avance.. on ne peut pas faire de retrieve arg sur le nom de table...
* Je ne peux pas changer le dataobject d'un LDWC
* Je ne sais pas affecter le datastore à la DDDW ( le datastore est correctement alimenté )

ça fonctionne de cette façon mais lorsque je veux récupérer la valeur courante dans l'évenement itemChanged , ça pose problème.

Voilà.. si vous pourriez m'éclairer , ça ne serait pas de refus

Dernière modification par micmx (02-03-2009 11:17:53)

Hors ligne

 

#2 02-03-2009 11:24:14

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

Re: DDDW d'une DW alimenté par une table dynamique

Quelques questions en passant:
- De quelle datastore parles-tu? Je n'en vois pas dans ton script
- Je ne vois pas non plus de trace de retrieve sur ta DDDW
- Pourquoi fais-tu un insertrow sur ta datawindow principale après le retrieve?
- As-tu regardé le fonctionnement du sharedata dans l'aide PB?


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

Hors ligne

 

#3 02-03-2009 11:36:25

micmx  
Membre Geek
Date d'inscription: 02-02-2009
Messages: 84
Pépites: 1,028
Banque: 1,383,846,119

Re: DDDW d'une DW alimenté par une table dynamique

foon a écrit:

Quelques questions en passant:
- De quelle datastore parles-tu? Je n'en vois pas dans ton script

Celle en commentaire..

foon a écrit:

- Je ne vois pas non plus de trace de retrieve sur ta DDDW

Auto retrieve

foon a écrit:

- Pourquoi fais-tu un insertrow sur ta datawindow principale après le retrieve?

Parce que sinon j'obtiens une FreeForm vide..

foon a écrit:

- As-tu regardé le fonctionnement du sharedata dans l'aide PB?

Oui bien sûre , cependant , une erreur apparaît , pas la même structure

Hors ligne

 

#4 02-03-2009 11:54:12

micmx  
Membre Geek
Date d'inscription: 02-02-2009
Messages: 84
Pépites: 1,028
Banque: 1,383,846,119

Re: DDDW d'une DW alimenté par une table dynamique

Le problème c'est pour récupérer les données de la DDDW..
Déjà lorsque j'écris :

Code: pb

messagebox("?","Click")

Dans l'évènement ItemChanged , l'évènement ne se produit qu'au premier click , même si l'on clique sur une autre valeur de la dddw oO

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22