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 26-08-2010 15:23:01

General Protection Fault  
Membre Geek
Lieu: Sophia Antipolis
Date d'inscription: 18-08-2008
Messages: 47
Pépites: 204
Banque: 0

[Abandonné] Nested report / Composite

reBonjour à tous,

Bon ben tant que je gagne, je joue !

Je suis donc en train de développer des statistiques. Chaque stat est composée d'un Dataobject affiché aussi joliment que possible à l'écran. Toutefois, j'offre la possibilité à l'utilisateur d'imprimer ces stats, avec une présentation légèrement différente : en gros, j'ajoute un entête et un pied de page propre à l'édition papier.

J'avais pensé ne concevoir qu'une seule DW composite d_papier, parée du Header et du Footer spécial impression, avec dans la bande Detail une DW/Dataobject imbriquée que je pourrais ensuite changer dynamiquement pour imprimer telle ou telle stat, ses données provenant d'un ShareData avec la DW affichée à l'écran.

Mais je n'y arrive pas et ça fait des heures que je tourne en rond.
J'ai essayé 3 versions de d_papier :
d_papier1 : une composite
d_papier2 : une freeform avec un report object imbriqué appelé dw_stat
d_papier3 : d_papier2 modifiée avec processing=5

Voici le bout de code :

Code: pb

// idw_report est le contrôle dw appelé à être imprimé avec la méthode print()
// le contrôle est correctement instancié
idw_report.DataObject = "d_papier1"

// On change le dataobject du rapport embarqué
// is_dw_ecran contient le nom du DataObject qui nous intéresse
ls_ret = idw_report.Modify("dw_stat.DataObject = ~"" + is_dw_ecran + "~"")

// on récupère une référence sur le rapport embarqué
li_ret = idw_report.GetChild("dw_stat", idwc_report_stat)

// on fait un partage de données pour (on l'espère éviter un retrieve)
li_ret = idw_stat.ShareData(idwc_report_stat)


Dans les trois cas, le modify() ne renvoie pas d'erreur mais le GetChild() échoue (=> -1)
Quelqu'un verrait-il ce qui cloche ? ça doit bien être possible de parvenir au résultat attendu non ?

Merci

Dernière modification par General Protection Fault (31-08-2010 09:01:29)

Hors ligne

 

#2 26-08-2010 15:43:07

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: [Abandonné] Nested report / Composite

Tu n'aurais pas oublié le SQLCA par hasard?


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

Hors ligne

 

#3 26-08-2010 15:43:33

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: [Abandonné] Nested report / Composite

idwc_report_stat = idw_report.Object.dw_stat


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

Hors ligne

 

#4 26-08-2010 16:02:15

General Protection Fault  
Membre Geek
Lieu: Sophia Antipolis
Date d'inscription: 18-08-2008
Messages: 47
Pépites: 204
Banque: 0

Re: [Abandonné] Nested report / Composite

Alors :

* La proposition de Shahin retourne une erreur 2 Null Object Ref, quelque soit la version de d_papier.

* Foon : c'est pire que ça ;) je ne l'ai pas mis consciemment : comptant sur un ShareData, il ne me parait pas nécessaire. Mais tu introduis le doute dans mon esprit. Comme en tout cas, il ne peut pas faire de mal, je l'ai ajouté et le bougre me retourne -1 ! ça c'est surprise... que je met de côté pour demain ;-)

Bonne soirée tout le monde !

Dernière modification par General Protection Fault (26-08-2010 16:02:28)

Hors ligne

 

#5 26-08-2010 16:23:22

Yanis  
Modérateur
Lieu: paris
Date d'inscription: 16-06-2010
Messages: 349
Pépites: 665
Banque: 150

Re: [Abandonné] Nested report / Composite

Foon tu avais visiblement déjà été traité ce sujet non ?

http://pbadonf.fr/forum/viewtopic.php?pid=26391

et ta réponse était :

F1 a écrit:

Nested reports      You cannot use GetChild to get a reference to a report in a composite DataWindow when the report itself is a composite or nested DataWindow.

Hors ligne

 

#6 27-08-2010 07:12:22

General Protection Fault  
Membre Geek
Lieu: Sophia Antipolis
Date d'inscription: 18-08-2008
Messages: 47
Pépites: 204
Banque: 0

Re: [Abandonné] Nested report / Composite

Précision : la DW intégrée à d_papier n'est pas une composite. Elle ne contient pas non plus elle-même de dw intégrée. C'est une bête tabular.

Dernière modification par General Protection Fault (27-08-2010 07:12:38)

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22