iReport: passer des paramètres d'une requête de rapport principal à une requête d'ensemble de données pour une table ou une liste
je comprends comment passer des paramètres d'un rapport principal à un sous-rapport, puisqu'il y a un champ spécifique pour cela dans l'objet du sous-rapport. Cependant, j'aimerais faire la même chose avec une table ou un objet de liste en tant que consommateur (plutôt qu'un sous-rapport). Est-il possible?
par exemple, disons que j'ai un paramètre de 'customerID' que je peux remplir avec une requête principale du rapport, mais je ne peux pas passer ce paramètre à la requête SQL de l'ensemble de données de la table.
j'ai essayé, et continuer à essayer, diverses combinaisons de paramètres, champs et variables, mais en vain.
est-ce que ce genre de chose nécessite la mise en œuvre d'un sous-rapport?
(Si ça n'est pas évident, je suis à l'aide de JDBC)
4 réponses
Pour passer les paramètres de > rapporttableau ou de la liste des sources de données dans le iReport 3.6.7+, vous devez faire les étapes suivantes:
1) créer les paramètres requis dans le rapport principal à droite cliquer sur la section paramètres du rapport principal------> ajouter un paramètre-------->définir les propriétés (type de données) de nouveaux paramètre de votre choix.
2) créer paramètres équivalents dans la section Paramètres de la source de données de la table/Liste exactement comme à l'étape 1.
3) à partir de l'explorateur de rapports, droit cliquez sur le tableau et cliquez sur Modifier L'ensemble 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 Paramètres de l'ensemble de données à l'étape 1) à partir de liste déroulante du haut (c'est à dire Dataset nom du paramètre) ------> puis cliquez sur le bouton inférieur (c) d'attribuer de la valeur de l'expression c'est à dire les paramètres qui vous avez ajouté à l'étape 1.
source : http://hamroblog-sristi.blogspot.fr/2011/04/passing-parameters-from-main-report-to.html
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 passer les valeurs aux paramètres, cliquez avec le bouton droit de la souris sur la Table dans report Inspector, choisissez "Editer table datasource". Allez à l'onglet "Paramètres". Chaque paramètre d'un ensemble de données peut prendre sa valeur à partir du paramètre, du champ ou de la variable du rapport principal.
je fais un rapport de test rapide pour répliquer ce que vous faisiez et ça a marché.
Voici les mesures que j'ai prises.
créer un paramètre dans votre rapport par exemple customerID
passez-le à votre rapport principal dans un hashmap.
hashmap.put("customerID", "12345");
dans le rapport, définissez la propriété
The language of for the dataset query
SQL
.Définir la propriété
Query text
quelque chose de similaire comme c'est soufflet.select * from * customers c where c.ID=$P{customerID}
Pour passer les paramètres de rapport principal au tableau ou à la liste des sources de données dans le iReport version supérieure, nous avons besoin de le faire comme suit:
- créer les paramètres requis dans le rapport principal par un clic droit sur la section paramètres du rapport principal------> ajouter un paramètre-------->définir les propriétés (type de données) de nouveaux paramètre de votre choix.
- créer des paramètres équivalents dans la section Paramètres de la source de données de la table/Liste exactement comme à l'étape 1.
- à partir de report explorer, cliquez avec le bouton droit de la souris sur la table et cliquez sur Modifier L'ensemble des 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 Paramètres de l'ensemble de données à l'étape 2.) from upper combo (i.e. Dataset parameter name) ------ > puis cliquez sur le bouton inférieur (i.e.) attribuez l'expression de valeur i.e. les paramètres que vous avez ajoutés à l'étape 1.