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
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
Skunkies : remplace < % par <%
et ça roule !!
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.
Dans le fichier FramesetFragment.jsp, il manque l’intégration du css :