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 02/05/2006, 17h47   #1
Nouveau Membre du Club
 
Inscription : juin 2005
Messages : 114
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 114
Points : 30
Points : 30
Par défaut [ireport] - utiliser une condition sur un field

est t- il possible de mettre une condition dans un field?
car j'ai un numéro de 1 à 12 qui est affiché, je voudrais avoir la possibilité d'écrire janvier, février, ...
donc est il possible de mettre une condition avec ireport?
merci davance

j'ai essayé:
Code :
1
2
3
4
5
6
7
8
 
//ça marche pas
( <$F{Mois}> ? "Janvier" : "autres" )
 
//ça marche pas non plus
if ($F{Mois}==1){
    "janvier";
}
karibouxe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/05/2006, 10h35   #2
Nouveau Membre du Club
 
Inscription : juin 2005
Messages : 114
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 114
Points : 30
Points : 30
toc toc,

j'ai vraiment besoin de savoir comment on fait une condition dans IReport.
j'ai essayer de changer le format en utilisant un pattern mois. Mais rien de satisfaisant: soit ça m'écrit oct. soit c'est en anglais.
svp comment peut on insérer une condition dans Ireport?
karibouxe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/05/2006, 11h50   #3
Nouveau Membre du Club
 
Inscription : juin 2005
Messages : 114
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 114
Points : 30
Points : 30
bon j'ai résolu le truc seul
vla comment on doit écrire une condition:
Code :
(($F{lemois}.equals("January"))?"Janvier":"Autres")
j'espère quand même trouver rapidement un case parce que ça va devenir hot quand même

toujours la même question si il existe un case sous ireport, ça m'aiderait bien. mais bon, je crois que ireport n'enflamme pas les foules sur ce forum
karibouxe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2006, 14h46   #4
Membre du Club
 
Inscription : octobre 2006
Messages : 48
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 48
Points : 47
Points : 47
Désolé je sais que la réponse vient un peu tard mais elle aidera peut-etre certains
en fait il n'y a pas de methode direct pour faire les " switch case" car on ne travaille qu'avec des chaines de caractères (ou peut-etre en créant un sous-programme hum ...)

une solution simple (mais longue) est d'encapsuler tes if :

(X == 0 ? X+1: (X ==1 ? X+2: X))
si X = 0 -> X + 1
si X = 1 -> X + 2

voila c'est court mais bon ...
phyzalis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/10/2006, 16h50   #5
Invité régulier
 
Inscription : septembre 2005
Messages : 32
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 32
Points : 9
Points : 9
j'ai un problème similaire alors j'en profite ;-)


dans un textfield, je dois concatener 5 chaines en les séparant par un tiret. mais, il se peut que l'une ou l'autre des chaines soit vides (ou plusieurs) - dans ce cas, il ne faut pas mettre de tiret.

Avec le code groovy suivant :

Code :
1
2
3
4
5
(!($F{NOT_zone1}.equals(null))?" - " + $F{NOT_zone1}:"") +
(!($F{NOT_zone2}.equals(null))?" - " + $F{NOT_zone2}:"") +
(!($F{NOT_zone4}.equals(null))?" - " + $F{NOT_zone4}:"") +
(!($F{NOT_zone5}.equals(null))?" - " + $F{NOT_zone5}:"") +
(!($F{NOT_zone6}.equals(null))?" - " + $F{NOT_zone6}:"")
j'arrive pas vraiment à ce qu'il faut, car si une des chaine est vide, tout le textfield est vide au final.

une idée ?

Merci
babarincairo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/10/2006, 17h22   #6
Membre du Club
 
Inscription : octobre 2006
Messages : 48
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 48
Points : 47
Points : 47
Franchement je comprends pas, j'ai essayé, chez moi non plus ça marche pas mais je vois pas ce qui n'est pas logique ... tu peux toujours essayer en créant des variables ? (autant de variables que tu as de de field et dans chaque variable une condition d'affichage ...)
phyzalis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2006, 14h54   #7
Nouveau Membre du Club
 
Inscription : août 2004
Messages : 35
Détails du profil
Informations forums :
Inscription : août 2004
Messages : 35
Points : 32
Points : 32
Par défaut [IReport 1.2.7]3 Sous-rapports juxtapés

J'ai un problème avec le positionnement de 3 sous rapport dans la detail band.
Malgré les manipulations d'option (Stretch type, Position Type) j'ai soit un chévauchement ou une disparition du 3ème sous-rapport.

J'ai besoin d'aide svp (I need help please!)
Rely est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2006, 14h55   #8
Membre du Club
 
Inscription : octobre 2006
Messages : 48
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 48
Points : 47
Points : 47
j'avais eu un peu le même genre de soucis
ce qu'il faut que tu fasse :

tu mets tes 3 sous-rapports les uns à la suite des autres (le plus précis possible)

le premier en position = relative to top et les 2 autres en position = float
et pas de strech genre "to tallest object"

pour la disparition du 3ème sous-rapport, normalement tu devrais plus avoir de souci
phyzalis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2006, 15h00   #9
Nouveau Membre du Club
 
Inscription : août 2004
Messages : 35
Détails du profil
Informations forums :
Inscription : août 2004
Messages : 35
Points : 32
Points : 32
c'est exactement ce que j'ai fait mais le 3ème disparait toujours
Rely est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2006, 15h26   #10
Membre du Club
 
Inscription : octobre 2006
Messages : 48
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 48
Points : 47
Points : 47
Il faut que tes 3 sous-rapports sois vraiment collés les uns aux autres au pixel près s'ils ont directement les uns à la suite des autres (et donc aucuns stretch j'ai vérifié)

si t' a tjr rien tu peux essayer de poster un morceau de ton code de masterreport
phyzalis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2007, 15h41   #11
kij
Membre habitué
 
Inscription : avril 2005
Messages : 360
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : avril 2005
Messages : 360
Points : 120
Points : 120
Envoyer un message via MSN à kij
Bonjour,

Je post ici plutot que de refaire un sujet car mon problème est similaire au premier.
J'ai un tableau de plusieurs colonnes, plusieurs lignes. Le remplissage est automatique (normal) et je voudrais mettre une condition d'affichage sur les lignes.
Je m'explique plus clairement : selon que deux champs soient égaux ou non, la ligne courante doit etre affichée ou non.

Je voudrais donc savoir de quelle manière ceci peut se faire ? Mettre une condition sur la ligne ?! Le hic c'est que mon tableau est construit maison, ce n'est pas une matrice. Donc mes lignes sont construites avec 3 zones dynamiques placées dans la zone 'détail' du document, afin de boucler sur les champ et ainsi afficher mes valeurs à la facon d'un tableau.
Ou donc devrais-je placer la condition pour que certaines de mes lignes ne soient pas affichées ?
J'ai pensé à mettre la condition sur chacune de mes zones dynamique qui constituent une ligne, mais là encore je ne sais pas où je dois placer ma condition pour qu'elle soit prise en compte.

Quelqun saurait-il remédier à ce problème ?

Merci.
kij est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2007, 15h48   #12
kij
Membre habitué
 
Inscription : avril 2005
Messages : 360
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : avril 2005
Messages : 360
Points : 120
Points : 120
Envoyer un message via MSN à kij
Bon, j'ai trouvé la solution pour finir

Pour ma part, mes lignes de colonne étant définies dans la section 'detail' de mon rapport, et n'ayant que cet objet dedans, j'ai placé la condition suivante :
Code :
new Boolean(!($F{Id}.equals( $F{Entity} )))
Dans la partie 'Print when expression' de la section 'Detail' du rapport.

Ainsi, mes lignes s'affichent uniquement lorsque les deux champs ne sont pas égaux.

Il est évident que si il y a d'autre élément dans la partie 'Detail', il faut bidouiller autrement
kij est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h08.


 
 
 
 
Partenaires

Hébergement Web