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

Jasper Discussion :

Opérations simple pour des variables


Sujet :

Jasper

  1. #1
    Membre habitué Avatar de anayathefirst
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    326
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 326
    Points : 182
    Points
    182
    Par défaut Opérations simple pour des variables
    Salut tout le monde.
    pour le moment, pour créer une nouvelle variable à partir de mes champs ou de mes autres variables, je suis obligé d'utiliser du code JAVA et des types complexes. pour une division toute simple par exemple, il faut faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $F{COUT_PRODUIT}.divide( $V{TOTAL_COUT}, BigDecimal.ROUND_DOWN )
    il est quand même plus sympa d'écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $F{COUT_PRODUIT}/$V{TOTAL_COUT}
    vous ne trouvez pas ?
    cela est-il possible (utilisation de types simples par exemple), et si oui comment ?

  2. #2
    Membre actif

    Inscrit en
    Avril 2007
    Messages
    194
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 194
    Points : 269
    Points
    269
    Par défaut
    Si tu as rajouté les lignes suivantes dans ton fichier "jasperreports.properties", tu peux utiliser l'autoboxing des types primitifs vers leurs équivalents en classes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    org.eclipse.jdt.core.compiler.source=1.5
    org.eclipse.jdt.core.compiler.compliance=1.5
    org.eclipse.jdt.core.compiler.codegen.TargetPlatform=1.5
    Tu pourras alors utiliser la syntaxe voulue.
    NB: Ca ne marche qu'avec les types primitifs (donc pas de BigDecimal)
    Cordialement,

    *****************
    Christopher André
    Sales Engineer

    Voir mon profil

    Il est extrêmement rare que je réponde à un message privé.
    Contribuez à la FAQ Jasper Reports & iReport

  3. #3
    Membre habitué Avatar de anayathefirst
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    326
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 326
    Points : 182
    Points
    182
    Par défaut
    Bonjour,
    je n'ai pas trouvé le fichier jasperreports.properties dans le répertoire d'installation de iReport, porte-t-il un autre nom pour iReport ou faut-il le créer (dans ce cas, où) ?

  4. #4
    Membre actif

    Inscrit en
    Avril 2007
    Messages
    194
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 194
    Points : 269
    Points
    269
    Par défaut
    Il est peut-être inclus dans ton JAR "jasperreports-x.y.z.jar": extrais-le, modifies-le et remets-le dans ton JAR.
    Cordialement,

    *****************
    Christopher André
    Sales Engineer

    Voir mon profil

    Il est extrêmement rare que je réponde à un message privé.
    Contribuez à la FAQ Jasper Reports & iReport

  5. #5
    Membre habitué Avatar de anayathefirst
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    326
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 326
    Points : 182
    Points
    182
    Par défaut
    Bonjour,
    en fait, dans le fichier jasperreport-xyz.jar, il y a un fichier de propriétés, mais ce sont des propriétés par défaut. pour écraser ces propriétés, il suffit de créer un fichier jasperreports.properties dans le dossier d'installation de iReport, et y rajouter les nouvelles propriétés. à priori, il prend en compte les pops par défaut, puis il celle du fichier jasperreports.properties en écrasant les propriétés existantes.

  6. #6
    Membre habitué Avatar de anayathefirst
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    326
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 326
    Points : 182
    Points
    182
    Par défaut
    et du coup, y a-t-il un moyen pour que iReport considère directement tous mes champs numériques comme des java.lang.Double ? en effet, par défaut, lorsque j'utilise une requête SQL qui contient des chiffres, ils sont considéré comme java.math.BigDecimal par défaut, ce qui n'est pas pratique !

  7. #7
    Membre actif

    Inscrit en
    Avril 2007
    Messages
    194
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 194
    Points : 269
    Points
    269
    Par défaut
    iReport se base sur les méta-données de ta base de données fournies par ton driver JDBC: ton driver, pour éviter de perdre des informations, définit tes champs numériques en tant que BigDecimal.
    Tu peux forcer le cast en Double en décochant la case "récupération automatique des champs" (pour éviter qu'à chaque modification de ta requête, le pilote ne remette les types par défaut) et en double-cliquant sur un champ et sélectionnant le type désiré pour ton champ.
    Cordialement,

    *****************
    Christopher André
    Sales Engineer

    Voir mon profil

    Il est extrêmement rare que je réponde à un message privé.
    Contribuez à la FAQ Jasper Reports & iReport

  8. #8
    Membre habitué Avatar de anayathefirst
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    326
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 326
    Points : 182
    Points
    182
    Par défaut
    si j'ai bien compris, c'est le driver JDBC qui donne le type de chaque champ, et pour ne perdre aucune information, il utilise à chaque fois, le type le plus complexe et le plus complet.
    dans ce cas, connaissez-vous un moyen pour forcer JDBC à utiliser les types de base à chaque fois que cela est possible (Double à la place de BigDecimal par exemple). un fichier xml qui se charge au lancement ou un truc du genre...
    en fait, la finalité est que les utilisateurs fassent leurs rapports tous seuls comme des grands après une petite formation. on leur préparera les requêtes qui vont bien, et il feront les opération qui leurs conviennent et créeront leurs rapports avec du drag and drop. et donc, il ne faut pas que ça leur prenne la tête à chaque fois qu'il chargent une nouvelle requête pour changer tous les BigDecimal en Double.

  9. #9
    Membre actif

    Inscrit en
    Avril 2007
    Messages
    194
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 194
    Points : 269
    Points
    269
    Par défaut
    Il s'agit la de plus une question concernant JDBC que JasperSoft.
    Je pense qu'il te faudrait soit consulter la documentation de tes pilotes JDBC, soit contacter le forum Java pour cette question.
    Désolé de ne pas pouvoir plus t'aider.
    Cordialement,

    *****************
    Christopher André
    Sales Engineer

    Voir mon profil

    Il est extrêmement rare que je réponde à un message privé.
    Contribuez à la FAQ Jasper Reports & iReport

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Syntaxe pour des variables nommées
    Par uraharasama dans le forum ActionScript 3
    Réponses: 0
    Dernier message: 28/06/2010, 19h18
  2. Réponses: 1
    Dernier message: 13/09/2009, 17h35
  3. Format pour des variables caractères
    Par CélineM dans le forum SAS Base
    Réponses: 9
    Dernier message: 13/05/2008, 17h34
  4. Réponses: 4
    Dernier message: 19/02/2006, 18h18
  5. Réponses: 3
    Dernier message: 19/12/2005, 13h39

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