2010-12-10 4 views
5

J'ai joué avec iReport (ancienne version 3.0.0) pendant un moment et je n'arrive pas à trouver un moyen de créer une table statique, ce qui me semble stupide et me conduit à pense que je suis juste dense. Quelqu'un peut me diriger dans la bonne direction? L'objectif est de générer un rapport avec une table avec 2 colonnes: le segment # et le nom du segment. Pour chaque rapport, il y aura toujours 20 segments, de sorte que le rapport final ressemblerait à quelque chose comme ce qui suit:Création d'une table statique dans iReport

| 1 | <segment name> | 
| 2 | <segment name> | 
... 
| 20 | <segment name> | 

Merci d'avance pour toute aide.

Répondre

6

La façon normale de créer une table à Jasper est d'utiliser des boîtes de texte (je sais, ce n'est pas si normal, mais Jasper est juste dense)

Pour comprendre Jasper, vous devez comprendre comment les groupes fonctionnent. La bande Detail est utilisée pour chaque ligne de vos données.

Dans la bande Détail, vous devez créer deux Text Field, un avec $F{segment_id} et un avec F${segment_name} (en supposant que votre requête utilise ces champs).
Lorsque vous exécutez le rapport, celui-ci devient votre corps de table.

Pour ajouter un en-tête à votre table, utilisez la bande Column Header. Ajoutez Static Text s avec 'ID' et 'Nom du segment' - ceci apparaîtra sous la forme d'un en-tête de tableau sur chaque page.

Notez que vous devez garder les zones de texte proches les unes des autres, en tenant compte de l'ensemble du bandeau, afin qu'il ressemble à une table et pas seulement à des boîtes de texte flottantes.

(Note - c'est la façon classique de créer des tables à Jasper, mais les nouvelles versions Jasper contient également un élément Table conçu spécifiquement pour les tables)