Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour,
je possède un report à l'intérieur d'une datawindows et je voudrais modifier ce champs manuellement dans mon code PB.
Je voudrais savoir si cela est possible et comment l'effectuer.
Merci pour votre aide
Dernière modification par krimo (20-05-2010 09:01:12)
Hors ligne
bonjour, tu veux modifier quoi au juste ? Un champs dans le report, le report lui-même ?
Hors ligne
Bonjour,
Je voudrais modifier un champs dans le report...
Hors ligne
il faut d'abord récupérer le report avec un Getchild
ensuite tu appliques les même commandes qu'à un DW (setitem...)
Hors ligne
En faites,
j'ai fais ceci et j'arrive à accéder au champs de mon report
datawindow_principal.object.le_report.object.monchams[row]
Le problème est que le champs que je veux modifier est un compute (champs calculé), mais apparement, ça n'a pas trop l'air de marcher si je le modifie.
Y-a-t'il un moyen pour contourner le problème?
Hors ligne
On ne peut modifier la valeur d'un compute comme celle d'une colonne.
En revanche tu peux utiliser un dw.modify portant sur l'expression du compute.
Hors ligne
Bonjour,
Merci pour l'info.
J'ai cependant une autre question.
Peut-on utiliser les méthodes associé au datawindow pour un report tels que la méthode RowCount()
Par exemple:
datawindow_principal.object.le_report.RowCount()
J'ai tenté de faite cela mais en vain.
Y-t'il une solution pour cela???
Dernière modification par krimo (10-05-2010 11:45:31)
Hors ligne
erasorz a écrit:
il faut d'abord récupérer le report avec un Getchild
ensuite tu appliques les même commandes qu'à un DW (setitem...)
Hors ligne
J'ai tenté de faire cela mais je n'y arrive pas. Je ne vois pas trop comment fonctionne les datawindowchild.
voici les étapes que j'ai effectué:
// déclaration de mon objet datawindowchild child1 // application de la méthode getchild rtncode = dw_1.GetChild('dw_report', child1) IF rtncode = -1 THEN MessageBox( & "Error", "Not a DataWindowChild") End if // connection CONNECT USING SQLCA; // transaction object for the child child1.SetTransObject(SQLCA)
L'appel de la méthode getchild me retourne -1 alors que mon objet existe bien... Je ne comprend pas trop.
Dernière modification par krimo (10-05-2010 12:58:23)
Hors ligne
vérifie le nom du report...
NB : avec code=pb en minuscules
Hors ligne
J'ai bien vérifier, je passe bien en parmètre le nom du champs de mon object..
Je suis perdu. help!!
Hors ligne
Attention!
As-tu vérifié ce point:
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
Euhhh, d'accord... Mais comment atteindre mon objectif alors??
Hors ligne
Bon ba après quelques bidouillage, j'ai résolu mon problème.
Merci
Hors ligne
ça m'interesse peux tu me dire comment tu as fais ?
Merci d'avance.
Hors ligne
j'ai fais autrement ...
merci quand même
Hors ligne