IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

iReport Discussion :

[ireport] - utiliser une condition sur un field


Sujet :

iReport

  1. #1
    Membre du Club
    Inscrit en
    Juin 2005
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 114
    Points : 61
    Points
    61
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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";
    }

  2. #2
    Membre du Club
    Inscrit en
    Juin 2005
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 114
    Points : 61
    Points
    61
    Par défaut
    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?

  3. #3
    Membre du Club
    Inscrit en
    Juin 2005
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 114
    Points : 61
    Points
    61
    Par défaut
    bon j'ai résolu le truc seul
    vla comment on doit écrire une condition:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (($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

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 48
    Points : 54
    Points
    54
    Par défaut
    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 ...

  5. #5
    Nouveau membre du Club
    Inscrit en
    Septembre 2005
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 32
    Points : 25
    Points
    25
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 48
    Points : 54
    Points
    54
    Par défaut
    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 ...)

  7. #7
    Nouveau membre du Club
    Inscrit en
    Août 2004
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 35
    Points : 38
    Points
    38
    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!)

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 48
    Points : 54
    Points
    54
    Par défaut
    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

  9. #9
    Nouveau membre du Club
    Inscrit en
    Août 2004
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 35
    Points : 38
    Points
    38
    Par défaut
    c'est exactement ce que j'ai fait mais le 3ème disparait toujours

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 48
    Points : 54
    Points
    54
    Par défaut
    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

  11. #11
    kij
    kij est déconnecté
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 362
    Points : 157
    Points
    157
    Par défaut
    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.

  12. #12
    kij
    kij est déconnecté
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 362
    Points : 157
    Points
    157
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

Discussions similaires

  1. Utiliser une condition en field
    Par logiciel_const dans le forum iReport
    Réponses: 1
    Dernier message: 05/05/2011, 09h53
  2. Réponses: 1
    Dernier message: 08/09/2006, 10h31
  3. [18F452] Utiliser une Table sur un 18F
    Par MCASM dans le forum Autres architectures
    Réponses: 2
    Dernier message: 18/04/2006, 22h48
  4. [Etat] appliquer une condition sur une somme
    Par Oluha dans le forum IHM
    Réponses: 5
    Dernier message: 13/02/2006, 13h34
  5. Somme d'enregistrements utilisant une condition
    Par Tartenpion dans le forum Langage SQL
    Réponses: 4
    Dernier message: 26/09/2005, 14h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo