Ajouter un calendar pour BIRT Viewer

14 mars 2009 by Aïssa Laisser un commentaire »

Etape 1 : copier jscalendar-1.0 dans le répertoire webcontent\birt
Télécharger l’archive ici : http://www.aissabelaid.fr/wp-content/uploads/2009/03/jscalendar-1.0.zip

Etape 2 : Editer le fichier webcontent/birt/pages/layout/FramesetFragment.jsp
Et ajouter avant la balise </head> :
<script src="birt/jscalendar-1.0/calendar.js" type="text/javascript"></script> <script src="birt/jscalendar-1.0/calendar-setup.js" type="text/javascript"></script>
<%
String MyJSLOCALE = request.getHeader("Accept-Language");
String YourJSLocale = MyJSLOCALE.substring(0,2);
%>

<script src="birt/jscalendar-1.0/lang/calendar-<%=YourJSLocale %>">// < ![CDATA[
.js" type="text/javascript">
// ]]></script>

Etape 3 : Editer le fichier webcontent/birt/pages/parameter/TextBoxParamaterFragment.jsp
Et juste avant :
</TD>
</TR>
Ajouter les lignes suivantes :
<%
if (parameterBean.getParameter().getDataType()==7) {
%>
<img id="trigger_d_<%=parameterBean.getName()%/>" title=< %=parameterBean.getName()%>" src="birt/jscalendar-1.0/img.gif" alt="< %=parameterBean.getName()%>" />
<script type="text/javascript">// < ![CDATA[
var picker = Calendar.setup({
inputField : "<%=parameterBean.getName()%>", // id of the input field
ifFormat : "%d/%m/%Y", // format of the input field
button : "trigger_d_< %=parameterBean.getName()%>", // trigger for the calendar (button ID)
singleClick : true
});
// ]]></script>

<%
if (parameterBean.getValue( ) == null ) {
%>
<script type="text/javascript">// < ![CDATA[
var now = new Date();
document.getElementById('< %=parameterBean.getName()%>').value = formatDate(now,"yyyy-MM-dd");
// ]]></script>
< % } %>
< % } %>

Pour ajouter un format de date correspondant à votre langue changer cette ligne :
ifFormat : « %d/%m/%Y », // format of the input field
par :
ifFormat : Calendar._TT["DEF_DATE_FORMAT"],
Si vous faîtes ceci, vous devez modifier chaque fichier langue (ex pour le français %d/%m/%Y au lieu de %d.%m.%Y)

Have fun ;-)

Partager:

  • email
  • Twitter
  • Digg
  • del.icio.us
  • Technorati
  • LinkedIn
  • Facebook
  • Google Bookmarks
  • Netvibes
  • blogmarks
  • Installer Birt Viewer pour diffuser ses rapports
  • Ajouter des drivers JDBC à BIRT
  • Déployer BIRT viewer 2.5 sur Red Hat
  • Répartition de charge pour Tomcat via Apache
  • Chaine de connexion JDBC (pour BIRT)
  • BIRT 2.5M7 disponible
  • Présentation de BIRT
  • Concours BIRT Exchange
  • 4 commentaires

    1. Skunkies dit :

      Hello, je tente d’utiliser ton post pour inserer un calendrier dans mes rapports. Je rencontre le soucis suivant, apres avoir créé un rapport avec un parametre de type Date lorsque j’y accede j’ai ce message d’erreur qui apparait: Calendar.setup:
      Nothing to setup (no fields found). Please check your code
      Et quand bien meme un fois la popup validé lorsque je clique sur le calendrier (l’image) je n’ai pas de calendrier qui apparait…
      As tu une idée?
      Merci

    2. JBCaradhoc dit :

      Skunkies : remplace < % par <%
      et ça roule !!

    3. Michenux dit :

      Moi, j’ai une autre erreur :

      Calendar._TT is undefined.

      J’ai corrigé le %/> ainsi que les % espace >
      et j’ai cette erreur.
      Je n’ai pas pris le jscalendar-1.0.zip du lien mais celui de sourceforge.

    4. Michenux dit :

      Dans le fichier FramesetFragment.jsp, il manque l’intégration du css :

    Poster un commentaire