Bonjour tout le monde!
Voilà j'ai un paramètre de type string ou date qui accepte la saisie : 31/07/08
et je veux que chaque jour la valeur par défaut de cette paramètre se change en fonction de la date actuelle.
Pouvez-vous me donner une solution ?
Bonjour tout le monde!
Voilà j'ai un paramètre de type string ou date qui accepte la saisie : 31/07/08
et je veux que chaque jour la valeur par défaut de cette paramètre se change en fonction de la date actuelle.
Pouvez-vous me donner une solution ?
Vous créez un Dataset qui recupère la date de la base.
exemple Oracle :
select sysdate
from dual;
Vous basez ce paramètre sur ce Dataset en mode dynamique.
Merci beaucoup, c'est très simple ! Mais où avais-je la tête
![]()
Bonjour,
Pourquoi faire simple quand on peut faire compliqué ?
Tu met dans le initialize ceci :
Code JavaScript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 if (params["MaDate"].value == null) params["MaDate"].value = new Date().toString();
merci a toi aussi BiM, C'est une autre option!
vous avez déjà répondu à ma question et pour le fine tuning
est-ce-qu'on peut directement afficher la Date d'aujourd'hui par défaut sur un paramètre textbox mais non que
- c'est la valeur null qui va engendrer la Date. (Ta solution) _NB:ici l'utilisateur ne peut pas se référencier à la date par défaut sans avoir consulter le rapport
- c'est un listbox, combox qui affiche la date ( celui de cucubau123)_NB:ici l'utilisateur sait la date de référence mais par contre s'il veut la changer ce sera choisir dans une liste de 365 sur une année
MERCI
Petite correction.
Bon, le problème, c'est que je suppose que la date est requise (champ obligatoire) dans le rapport.
Si on ne coche pas "is required" alors on peut saisir null ou une valeur vide... pas bon !
Donc il faut cocher "is required". On sélectionne le type zone déroulante que l'on associe à un DataSet. Comme ceci, l'invite propose soit la liste déroulante avec les valeurs (ou plutôt) du DataSet, soit de saisir une date soit même.
Problème ! Avec "is required" on doit choisir une valeur par défaut. On choisit alors la seule valeur du DataSet. Mais cette valeur est ensuite stockée en dur dans le rptDesign !! Ce qui veut dire que cela stocke 2008-07-31 en dur. Donc demain tu auras toujours cette valeur par défaut malgré qu'elle n'apparaisse plus dans le DataSet !
(Testé avec un DataSource JDBC et un ScriptedDataSource)
Conclusion, la bonne solution est celle que j'ai donné précédemment.
Précisions : MaDate est un paramètre de type Date sous forme de Zone de Texte. L'option "is required" est décochée. Si le champ reste vide alors il sera initialisé par ce script (dans le initialize du rptdesign) :
Code JavaScript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 if (params["MaDate"].value == null) params["MaDate"].value = new Date().toString();
Pour te répondre ravaid :
Si j'ai bien compris, ton problème c'est que ce n'est pas clair pour l'utilisateur. Pour ceci, il suffit que tu mettes un Prompt Text suffisamment clair : Choisir une date sous le format (jj/mm/aaaa), par défaut, la date est aujourd'hui.
Ben non, comme expliqué dans ce message![]()
Ah oui, il n'y a pas de méthode avant l'invite de paramètres. Du coup, ce n'est pas possible de modifier directement dans le rtpDesign la valeur par défaut des paramètres avant que tu les vois.
Si tu as une appli Java derrière tout ça, on peux avoir exactement ce que tu veuxCa se fait en une ligne juste après avoir ouvert le rptDesign.
Code Java : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 IReportRunnable design = engine.openReportDesign(...); design.getDesignHandle().getModuleHandle().findParameter("MaDate").setProperty("defaultValue", new Date());
Partager