Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > Jasper > iReport
iReport Forum d'entraide sur iReport
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/07/2008, 18h02   #1
Futur Membre du Club
 
Inscription : octobre 2007
Messages : 57
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 57
Points : 17
Points : 17
Envoyer un message via Skype™ à imanoual
Par défaut passer le nom de table en paramètre avec iReport

Bonjour,
Je souhaite passer le nom de la table en paramètre vers ireport :

parameters.put("table", "nom de ma table");

même sur ireport ça marche pas .

Si quelqu 'un a déjà fais , merci de me donner la solution .
Merci de votre réponse
imanoual est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/07/2008, 00h03   #2
Candidat au titre de Membre du Club
 
Inscription : juin 2008
Messages : 18
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 18
Points : 14
Points : 14
bonsoir,

je ne veux pas dire de bêtises mais pour moi il n'est pas possible de le faire directement par un paramètre. J'ai regardé le bouquin de ireport sur la partie paramètre et apparemment rien n'est prévu à cet effet :

extrait du livre :
Parameters are values usually passed to the report from the program that creates the print of the report. They can be used for guiding particular behaviors during runtime (such as the application of a condition in a SQL query) and for supplying additional data to the print context such as an Image object containing a chart or a string with the report title.
Built-in Parameters
JasperReports provides some built-in parameters (they are internal to the reporting engine) that are readable but not modifiable by the user.
Parameter Description
REPORT_PARAMETERS_MAP This is the java.util.Map passed to the fillReport method, and it contains the parameter values defined by the user.
REPORTCONNECTION This is the JDBC connection passed to the report when the report is created through a SQL query.
REPORT_DATASOURCE This is the datasource used by the report when it is not using a JDBC connection.
REPORT_SCRIPTLET This represents the scriptlet instance used during creation. If no scriptlet is specified, this parameter uses an instance of
net.sf.jasperreports.engine.JRDefaultScriptlet. Starting from
JasperReports 1.0.0, an implicit cast to the provided scriptlet class is
performed. This simplifies many expressions that use the provided
scriptlet class.
IS_IGNORE_PAGINATION You can switch the pagination system on or off by setting a value for this parameter (it must be a Boolean object). By default, pagination is used, except for exporting to HTML or Excel formats.
REPORT_LOCALE This is used to set the locale used to fill the report. If no locale is provided, the system default will be used.
REPORT_TIME_ZONE This is used to set the time zone used to fill the report. If no locale is provided, the system default will be used.
REPORT_MAX_COUNT This is used to limit the number of records filling a report. If no value is provided, no limit will be set.
REPORT_RESOURCE_BUNDLE This is the resource bundle loaded for this report. See Chapter 10 for how to provide a resource bundle for a report.
REPORT_VIRTUALIZER This defines the class for the report filler that implements the JRVirtualizer interface for filling the report.

Voilà donc apparemment rien n'est prévu pour si ce n'est de créer peut être un subreport contenant une requête sur la table que tu souhaitais passer en paramètre.

Bonne soirée
nadège23 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/07/2008, 10h05   #3
Rédacteur/Modérateur
 
Avatar de JauB
 
Homme Faisel
Ingénieur COBOL/AS400
Inscription : octobre 2005
Messages : 1 713
Détails du profil
Informations personnelles :
Nom : Homme Faisel
Âge : 31
Localisation : Maroc

Informations professionnelles :
Activité : Ingénieur COBOL/AS400
Secteur : Finance

Informations forums :
Inscription : octobre 2005
Messages : 1 713
Points : 2 712
Points : 2 712
Envoyer un message via AIM à JauB Envoyer un message via MSN à JauB Envoyer un message via Yahoo à JauB
Citation:
Envoyé par imanoual Voir le message
Bonjour,
Je souhaite passer le nom de la table en paramètre vers ireport :

parameters.put("table", "nom de ma table");
même sur ireport ça marche pas .
Si qlq 'un a déjà fais , merci de me donner la solution .
Merci de votre réponse
A ma connaissance c'est pas possible!
Ton rapport ne sera même pas compilé avec une requête SQL contenant dans le caluse FROM un nom de table comme paramètre.
__________________
*** Ingénieur COBOL/AS400 ***

-------------------------------------------------------------------

Mes articles, Mon Blog

Rubrique Jasper/iReport :
------- Forum Jasper --------
----- FAQ Jasper/iReport -----

JauB est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2008, 10h05   #4
Futur Membre du Club
 
Inscription : octobre 2007
Messages : 57
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 57
Points : 17
Points : 17
Envoyer un message via Skype™ à imanoual
Merci de votre réponse.
par contre , est ce que je peux passer toute la requette en paramtere ?
En faite j ai des table qui finissent par l'excercice 2007_2008 par exemple ,
et ça se traite au niveau de java .
Merci à vous.
imanoual est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2008, 10h14   #5
Rédacteur/Modérateur
 
Avatar de JauB
 
Homme Faisel
Ingénieur COBOL/AS400
Inscription : octobre 2005
Messages : 1 713
Détails du profil
Informations personnelles :
Nom : Homme Faisel
Âge : 31
Localisation : Maroc

Informations professionnelles :
Activité : Ingénieur COBOL/AS400
Secteur : Finance

Informations forums :
Inscription : octobre 2005
Messages : 1 713
Points : 2 712
Points : 2 712
Envoyer un message via AIM à JauB Envoyer un message via MSN à JauB Envoyer un message via Yahoo à JauB
Je pense que tu dois nous exprimer ton besoin autrement! Il n'y a pas qu'une seule façon pour résoudre un problème en développement, sauf parfois...
__________________
*** Ingénieur COBOL/AS400 ***

-------------------------------------------------------------------

Mes articles, Mon Blog

Rubrique Jasper/iReport :
------- Forum Jasper --------
----- FAQ Jasper/iReport -----

JauB est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2008, 11h24   #6
Futur Membre du Club
 
Inscription : octobre 2007
Messages : 57
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 57
Points : 17
Points : 17
Envoyer un message via Skype™ à imanoual
Bonjour,
Voila mon problème :
sur ma classe java je cherche le chiffre d'affaire d'un exercice à partir d'une date saisi par l'utilisateur , exemple l'utilisateur entre '2008_2009' , souhaite consulter le rapport de l'anneé 2008/2009 , alors ma requette sera sur la table exercice_2008_2009 .
c'est pour ça je veux passer la table en parametre sinon toute la requette
Merci à vous
imanoual est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2008, 11h31   #7
Rédacteur/Modérateur
 
Avatar de JauB
 
Homme Faisel
Ingénieur COBOL/AS400
Inscription : octobre 2005
Messages : 1 713
Détails du profil
Informations personnelles :
Nom : Homme Faisel
Âge : 31
Localisation : Maroc

Informations professionnelles :
Activité : Ingénieur COBOL/AS400
Secteur : Finance

Informations forums :
Inscription : octobre 2005
Messages : 1 713
Points : 2 712
Points : 2 712
Envoyer un message via AIM à JauB Envoyer un message via MSN à JauB Envoyer un message via Yahoo à JauB
Citation:
Envoyé par imanoual Voir le message
Bonjour,
Voila mon problème :
sur ma classe java je cherche le chiffre d'affaire d'un exercice à partir d'une date saisi par l'utilisateur , exemple l'utilisateur entre '2008_2009' , souhaite consulter le rapport de l'anneé 2008/2009 , alors ma requette sera sur la table exercice_2008_2009 .
c'est pour ça je veux passer la table en parametre sinon toute la requette
Merci à vous
Ton problème est d'ordre conceptuel. Je vois que tu fais pour chaque exercice une table et çà ce n'est pas plus du tout recommandé. Tu dois normalement avoir une seule table qui contient les chiffres d'affaires avec des dates (les années). L'utilisateur sélectionnera l'anné qu'il veut, ta classe Java va récupérer ce paramètre (l'année) que tu passeras à ton rapport qui contient à son tour ta requête SQL avec un paramètre année.
Ta requête SQL ressemblera alors à :
Code SQL :
SELECT sum(montant) FROM maTable WHERE annee = $P{monParametre}

Est ce bien clair pour toi tout ça?
__________________
*** Ingénieur COBOL/AS400 ***

-------------------------------------------------------------------

Mes articles, Mon Blog

Rubrique Jasper/iReport :
------- Forum Jasper --------
----- FAQ Jasper/iReport -----

JauB est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2008, 12h24   #8
Futur Membre du Club
 
Inscription : octobre 2007
Messages : 57
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 57
Points : 17
Points : 17
Envoyer un message via Skype™ à imanoual
Oui , merci de m'avoir répondre , mais ça c'est l existant , c'est pas ce que je dois modifier.
Mon périmètre d'intervention est juste sur le graphe
Donc je dois m'adapter avec l'existant , faut que mon programme soit intelligent pour connaitre quelle table va interroger , en fonction de l'année .... c'est compliqué (sauf la solution de créer un graphe pour chaque exercice , c'est pas trop intelligent )
imanoual est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2008, 12h33   #9
Rédacteur/Modérateur
 
Avatar de JauB
 
Homme Faisel
Ingénieur COBOL/AS400
Inscription : octobre 2005
Messages : 1 713
Détails du profil
Informations personnelles :
Nom : Homme Faisel
Âge : 31
Localisation : Maroc

Informations professionnelles :
Activité : Ingénieur COBOL/AS400
Secteur : Finance

Informations forums :
Inscription : octobre 2005
Messages : 1 713
Points : 2 712
Points : 2 712
Envoyer un message via AIM à JauB Envoyer un message via MSN à JauB Envoyer un message via Yahoo à JauB
Et tu as beacoup d'exercices ou juste 2 ou 3?
Ces exercices sont figés dans le temps ou que tu auras des exercices suplémentaires après?
car s'ils sont figés alors tu n'as qu'à créer des fichiers Jasper pour chaque exercice et en fonction du choix de l'utilisateur tu attaques un tel ou tel fichier Jasper.
__________________
*** Ingénieur COBOL/AS400 ***

-------------------------------------------------------------------

Mes articles, Mon Blog

Rubrique Jasper/iReport :
------- Forum Jasper --------
----- FAQ Jasper/iReport -----

JauB est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2008, 13h20   #10
Futur Membre du Club
 
Inscription : octobre 2007
Messages : 57
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 57
Points : 17
Points : 17
Envoyer un message via Skype™ à imanoual
Bonjour,
c'est bien ce que j 'ai préciser dans ma derniere réponse "(sauf la solution de créer un graphe pour chaque exercice , c'est pas trop intelligent )"
ça va pas etre pas dynamique , et le prochaine exercice , on dois modifier créer un nouveau jasper et modifier le code .
Vous pensez pas qu'on peut modifier le jrxml a partir de java ? avant de lancer la compilation
ça serai pas bete
imanoual est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2008, 13h33   #11
Rédacteur/Modérateur
 
Avatar de JauB
 
Homme Faisel
Ingénieur COBOL/AS400
Inscription : octobre 2005
Messages : 1 713
Détails du profil
Informations personnelles :
Nom : Homme Faisel
Âge : 31
Localisation : Maroc

Informations professionnelles :
Activité : Ingénieur COBOL/AS400
Secteur : Finance

Informations forums :
Inscription : octobre 2005
Messages : 1 713
Points : 2 712
Points : 2 712
Envoyer un message via AIM à JauB Envoyer un message via MSN à JauB Envoyer un message via Yahoo à JauB
Beh tu peux modifier ton JRXML (même si je ne l'ai jamais fait) via des API XML telle que XSLT ( mais ça sera pas une bonne solution car dans ce cas tu devras à chaque fois compiler ton JRXML, et imagine si tu as beacoup d'utilisateurs qui se connectent à ton application et que chacun fait une compilation et tu dois gérer des noms de fichiers...
__________________
*** Ingénieur COBOL/AS400 ***

-------------------------------------------------------------------

Mes articles, Mon Blog

Rubrique Jasper/iReport :
------- Forum Jasper --------
----- FAQ Jasper/iReport -----

JauB est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2008, 14h22   #12
Futur Membre du Club
 
Inscription : octobre 2007
Messages : 57
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 57
Points : 17
Points : 17
Envoyer un message via Skype™ à imanoual
Oui , ça me semble aussi compliqué , donc j'affiche seulement un exercice ,
Merci de m'aider par votre réflexion et votre savoir faire
imanoual est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/03/2012, 20h49   #13
Futur Membre du Club
 
Inscription : mars 2005
Messages : 41
Détails du profil
Informations personnelles :
Localisation : Maroc

Informations forums :
Inscription : mars 2005
Messages : 41
Points : 17
Points : 17
Essayer d'utliser cette syntax $P!{TBLE_NAME} au lieu de $P{TBLE_NAME}.
dahan est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h24.


 
 
 
 
Partenaires

Hébergement Web