Les rapports construits avec iReport et publiés sur Jasperserver sont des rapports assez statiques. Pour que l’utilisateur aie une impression de dynamisme, l’option « liens hypertextes ou hyperlinks » peut être intéressante.
Dans ce post nous allons voir quelques exemples d’utilisation d’hyperlink.
- Pour créer un rapport hyperlink qui va exécuter un autre rapport
L’exemple qui suit est basé sur la base de données : sugarcrm
1) Créer un sous premier rapport (qui sera ensuite appelé dans un rapport main) qui contient un PiChart par exemple avec la requête suivante en dataset :
/*************************************/
SELECT
sales_state,
SUM(amount) as amount
FROM
sales_fact
INNER JOIN sales_person ON sales_person.id = sales_fact.sales_person_id
INNER JOIN sales_state ON sales_state.id = sales_fact.sales_state_id
WHERE
sales_state.id > 1 AND sales_state.id < 8
GROUP BY
sales_state
/*********************************/
2) Faire un Clic droit sur le graphique >Chart Data > Détails > Section Hyperlink.
- Dans hyperlink target choisir : Self = dans la même page ou blank = dans une nouvelle page
- dans hyperlink type mettre « Report Exectution »
- Puis dans l’onglet link parameters mettre : _report et l’emplacement de son report « /reports/myExamples/hyperlink2″
- Et enfin ajouter un second paramètre sales_state ou l’on précisera $F{sales_state}
3) Ensuite il faudra créer un second report avec un « input control » juste lisible pour que le passage de paramètre puisse se faire correctement dans la requête
Et c’est ainsi que lorsque l’utilisateur va cliquer sur une partie du camembert, le paramètre sera envoyé au second rapport « hyperlink2″ qui sera ensuite exécuté et ouvert.
- Pour créer un hyperlink dans un même rapport d’un texfield vers un autre textfield par exemple (qui sera dans le même rapport ou dans un sous rapport)
1)Créer le texfield qui sera le lien faire clic droit dessus et mettre dans l’onglet anchor >hyperlink anchor expression un identifiant unique dans le rapport exemple « coucou test »
2) Puis créer le textfield cible avec clic droit anchor name expression « coucou test » et le tour est joué !
- Faire un lien qui pointe sur un document présent sur la plateforme
Comme vous pouvez le voir ci-dessous nous avons exécuté le rapport (en passant par le scheduler) pour créer une instance de ce rapport en PDF.
Puis je vais faire pointer un textfield sur ce document en faisant :
Ll’hyperlink expression est l’adresse indiquée lors de l’exécution d’hyperlink.pdf
- Hyperlink vers une page Internet
J’espère que ce post vous aura donné une petite vision de ce qu’il est possible de faire avec les hyperlinks proposés dans iReport.
Si vous avez d’autres astuces n’hésitez pas à poster!
14 mai 2011 à 10 h 26 min
bonjour,
j’essaie d’appliquer l’exemple ci-dessus, mais sans succès, aussi , questions :
cette fonction est-elle disponible avec la version open ( version gratuite ) ?
si oui, à partir de quelle version ?
Merci de votre réponse .
29 juillet 2011 à 13 h 08 min
bonjour,
je me remets sur JASPER et reviens vers vous concernant mon mail précédent ; sauf erreur de ma part, je n’ai pas reçu de réponse , et je suis toujours en « difficulté » concernant le sujet des hyperlinks .
pouvez vous svp me préciser si cette fonctionnalité est disponible dans la version open ?
Merci d’avance.
C. LE CHENE
8 novembre 2012 à 9 h 35 min
Bonjour,
comment faire pour passer un paramètre à une URL ?
et que les Url du rapport de se contruisent ainsi dynamiquement.
J’ai essayé avec la métohde « hyperlink vers page internet » en renseignant:
reference: « http://www.mapage.fr/monscript.pl? »
et en link parameter : nom parametre = $F{parametre}
merci