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 02-03-2009 12: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 12:17:53)

Hors ligne

 

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

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

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 12: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 12: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