web-dev-qa-db-fra.com

iReport: Passage des paramètres d'une requête de rapport principale à une requête de dataset pour une table ou une liste

Je comprends comment passer des paramètres d’un rapport principal à un sous-rapport, puisqu’il existe un champ spécifique à cet effet dans l’objet sous-rapport. Cependant, j'aimerais faire la même chose avec un objet table ou liste en tant que consommateur (plutôt qu'en tant que sous-rapport). C'est possible?

Par exemple, supposons que j'ai un paramètre de 'customerID' que je puisse renseigner avec une requête de rapport principale, mais que je n'arrive pas à passer ce paramètre à la requête SQL de l'ensemble de données de la table.

J'ai essayé et continue d'essayer diverses combinaisons de paramètres, de champs et de variables, mais en vain.

Est-ce que ce genre de chose nécessite une implémentation de sous-rapport?

(Si cela compte et que ce n'est pas évident, j'utilise JDBC)

20
todb

Pour passer les paramètres du rapport principal au table ou à la liste des sources de données dans le iReport 3.6.7+, vous devez suivre les étapes suivantes:

1) créez les paramètres requis dans le rapport principal en cliquant à droite sur la section des paramètres du rapport principal ---- -> ajouter un paramètre --------> définir les propriétés (type de données) du paramètre ajouté à votre choix.

2) créez des paramètres équivalents dans la section des paramètres de la table/liste de la source de données, exactement comme à l'étape 1.

3) dans l'explorateur de rapports, cliquez à droite sur le tableau et cliquez sur Edit Table DataSet ------> Sélectionnez l'onglet Paramètres -----------> Cliquez sur ajouter ----------> Choisissez le paramètre (que vous avez créé dans la section de paramètre du jeu de données à l'étape 1) dans la liste déroulante supérieure ( c.-à-d. nom du paramètre de fichier) ------> puis cliquez sur le bouton du bas (c.-à-d., affectez une expression de valeur, c’est-à-dire les paramètres que vous avez ajoutés à l’étape 1 .

source: http://hamroblog-sristi.blogspot.fr/2011/04/passing-parameters-from-main-report-to.html

21
Ouadie

Je ne sais pas quelle version vous utilisez, mais j'ai pu le faire dans iReport 3.7.6. 

D'abord, j'ajoute les paramètres à l'ensemble de données.

Ensuite, pour transmettre les valeurs aux paramètres, cliquez avec le bouton droit de la souris sur l’Inspecteur de rapports, choisissez "Modifier la source de données de la table". Allez dans l'onglet "Paramètres". Chaque paramètre de jeu de données peut prendre sa valeur dans un paramètre, un champ ou une variable du rapport principal.

12
Lost In Code

Pour transmettre les paramètres du rapport principal à la table ou à la liste des sources de données dans la version supérieure d'iReport, nous devons suivre les étapes suivantes:

  1. créer les paramètres requis dans le rapport principal en cliquant avec le bouton droit de la souris sur la section des paramètres du rapport principal ------> ajouter un paramètre --------> définir les propriétés (type de données) du paramètre ajouté à votre choix .
  2. créez des paramètres équivalents dans la section des paramètres de la source de données de la table/de la liste, exactement comme à l'étape 1.
  3. À partir de l'explorateur de rapports, cliquez avec le bouton droit de la souris sur la table et cliquez sur Modifier le jeu de données de la table ------> Sélectionnez l'onglet Paramètres -----------> Cliquez sur Ajouter --------- -> Choisissez le paramètre (que vous avez créé dans la section des paramètres du jeu de données à l'étape 2.) dans la liste déroulante supérieure (nom du paramètre du jeu de données) ------> puis cliquez sur le bouton inférieur (c.-à-d.), Assignez une expression vous avez ajouté à l'étape 1.
0
Madhuka Dilhan

Je fais un rapide rapport de test pour reproduire ce que vous faisiez et cela a fonctionné.

Voici les étapes que j'ai prises.

  • Créez un paramètre dans votre rapport, par exemple. N ° de client

  • Transmettez-le à votre rapport principal dans une hashmap.

    hashmap.put("customerID", "12345");

  • Dans le rapport, définissez la propriété The language of for the dataset query sur SQL.

  • Définissez la propriété Query text sur quelque chose de similaire à ce qui suit.

    select * from * customers c where c.ID=$P{customerID}

0
Gordon