Dynamique de la chaîne de recherche dans JRXML
Je suis en train de construire un rapport qui serait assez intelligent pour modifier légèrement son requête sql basé sur un paramètre d'entrée d'une certaine sorte.
Par exemple si spécial que la modification de valeur de paramètre est à "1", il ajoute un champ dans le sélectionner et ajoute une clause group by de la requête.
J'ai regardé dans java expressions, mais elles ne semblent pas être pris en charge dans la queryString tag de la jrxml. Également essayé de faire une variable contenant l'expression de java et de l'utilisation de cette variable dans la chaîne de requête tag... Qui ne fonctionne pas non plus!
Droit maintenant, je pense peut-être avoir une procédure stockée avec tout ce que la logique et ont simplement le jrxml l'appel de cette procédure stockée avec la modification des paramètres d'entrée, mais le projet que je suis en train de travailler sur ne semble pas avoir tout un tas de procédures stockées, donc j'aimerais voir si il y a d'autres solutions avant de m'en aller en bas de ce chemin.
Merci pour votre aide.
Merci les gars pour votre aide, beaucoup apprieciated. Cependant, j'ai trouvé une autre façon d'aller à ce sujet, et publié pour plus d'informations: ici
Vous devez vous connecter pour publier un commentaire.
JasperDesign effectivement vous permet de modifier certaines parties de votre jrxml document. Donc, disons que vous avez un paquet de "rapports" où vous stockez votre rapport construit à la main ou par un outil comme iReport. Tant que votre requête est définie dans la balise
<queryString>
, la suite de travail vous permettant de modifier la requête à la volée:Avec quelque chose comme cela, vous pouvez créer une variable membre de la classe qui détient la nouvelle requête et de construire avec ce que l'utilisateur limite souhaitée. Puis, au vue du temps juste de modifier la conception.
-Jeff
JasperDesign m'a aidé à résoudre le problème de la construction dynamique de la requête sur le fichier Jrxml.
Pour générer le SQL Dynamique, j'ai été en utilisant le Squiggle(Google Code) pour générer le SQL dynamique.
Merci jeff
Je l'ai fait à l'aide de procédures stockées qui sont juste très bien pour ces sortes de choses. Sinon vous risquez de passer à Java. Il suffit de saisir les données de la base de données et en fonction de l'utilisateur à condition que les paramètres de filtre, groupe et l'envoyer comme une collection de fèves à la Jasper rapport qui va faire le rendu.