Rapports Jasper-aligner les champs de texte dynamiques et leurs étiquettes horizontalement

J'utilise Jasper report 5.2, iReport 5.2 et j'exporte le rapport en formats RTF et PDF.

dans mon rapport je veux ajouter quelques champs de texte avec leurs étiquettes (texte statique)alignées horizontalement comme

         Name:  $F{name}
          Age:  $F{age}
Date of Birth:  $F{dateOfBirth}

mais je suis incapable de les aligner. C'est ce que j'ai essayé

  • Type De Position: float (pour l'ensemble du texte statique et les champs)
  • Type D'Étirement: pas de stretch (pour tous les textes statiques et les champs)
  • Stretch Avec Overflow: Vrai (pour tous les champs de texte dynamique)

l'image montre ce que j'obtiens et ce que je veux. De plus, le contenu de mon champ de texte est dynamique, c'est-à-dire que la taille du contenu peut varier. enter image description here

j'ai lu beaucoup de forums mais n'ai pas pu trouver de solution, s'il vous plaît suggérer.

Merci

16
demandé sur Pablo Escobar 2013-09-03 23:15:30

4 réponses

C'est peut-être fait facilement avec l'aide de conteneurs - le Image élément.

Vous devriez mettre Image Type De Position Float et mettre à tous les deux staticText (label) et textField.

textField j'ai mis Type De Position FloatStretch Avec Overlfow true.

le taille de l'échantillon

jrxml fichier:

<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="textfields_allign" language="groovy" pageWidth="595" pageHeight="842" whenNoDataType="AllSectionsNoDetail" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="d855bf18-5e9b-4060-8caa-3fdd08abce3b">
    <parameter name="name" class="java.lang.String"/>
    <parameter name="id" class="java.lang.String"/>
    <parameter name="date" class="java.lang.String"/>
    <title>
        <band height="69" splitType="Stretch">
            <frame>
                <reportElement uuid="314bfd5b-7b0a-42f4-aca3-e61f0283f126" positionType="Float" x="213" y="1" width="243" height="20"/>
                <staticText>
                    <reportElement uuid="e07201bb-a677-4dc9-a332-f94e6eca2722" positionType="Float" x="0" y="0" width="100" height="20" isPrintWhenDetailOverflows="true"/>
                    <textElement/>
                    <text><![CDATA[Name]]></text>
                </staticText>
                <textField isStretchWithOverflow="true">
                    <reportElement uuid="66c93a44-9015-4ae9-bf05-b68b2420f3ef" positionType="Float" x="121" y="0" width="100" height="20" isPrintWhenDetailOverflows="true"/>
                    <textElement/>
                    <textFieldExpression><![CDATA[$P{name}]]></textFieldExpression>
                </textField>
            </frame>
            <frame>
                <reportElement uuid="8311a483-955e-4280-a9ac-513d7d34495b" positionType="Float" x="213" y="21" width="243" height="20"/>
                <staticText>
                    <reportElement uuid="da404b4e-7908-40ae-8e1b-38e19d9ddc7f" positionType="Float" x="0" y="0" width="100" height="20" isPrintWhenDetailOverflows="true"/>
                    <textElement/>
                    <text><![CDATA[ID]]></text>
                </staticText>
                <textField isStretchWithOverflow="true">
                    <reportElement uuid="e0e312e8-cd2f-48af-8ae8-df95c6195488" positionType="Float" x="121" y="0" width="100" height="20" isPrintWhenDetailOverflows="true"/>
                    <textElement/>
                    <textFieldExpression><![CDATA[$P{id}]]></textFieldExpression>
                </textField>
            </frame>
            <frame>
                <reportElement uuid="8ff2baf9-b0ec-4c8a-b54a-9edd08b200cc" positionType="Float" x="213" y="41" width="243" height="20"/>
                <staticText>
                    <reportElement uuid="b8d97db0-250a-43c8-a2f3-2fa3668c5d15" positionType="Float" x="0" y="0" width="100" height="20" isPrintWhenDetailOverflows="true"/>
                    <textElement/>
                    <text><![CDATA[Date]]></text>
                </staticText>
                <textField isStretchWithOverflow="true">
                    <reportElement uuid="4daa4d17-28be-4ac8-8e1e-2efbeec5f690" positionType="Float" x="121" y="0" width="100" height="20" isPrintWhenDetailOverflows="true"/>
                    <textElement/>
                    <textFieldExpression><![CDATA[$P{date}]]></textFieldExpression>
                </textField>
            </frame>
        </band>
    </title>
</jasperReport>

La conception de l'état dans iReport:

enter image description here

Le résultat sera (via iReport aperçu):

enter image description here

30
répondu Alex K 2013-09-04 09:42:46

pour compléter la solution D'Alex K: avec Jaspersoft Studio, n'oubliez pas de définir la propriété du texte statique "stretch type" à "relative à l'objet le plus haut".

3
répondu user6236201 2016-04-21 14:18:59

dans les rapports de Jasper 3.6 et suivants (y compris 5.2), il existe une installation qui utilise plusieurs bandes de détails. Vous pouvez mettre les deux premiers blocs de Nom Identification du Patient Date de naissance. Cela vous donnera les résultats que vous voulez.

Ne se réfèrent pas à mon poste ici comme ceci est pour L'ancienne version 3.5 des rapports Jasper. Cette version ne vous permet pas d'utiliser plusieurs bandes et j'ai dû vivre avec une seule bande de détails. Ce n'est pas le cas avec 5.2. Vous pouvez vous amuser avec plusieurs bandes de détails. Profitez-en!

2
répondu Rachcha 2017-05-23 11:54:09

il suffit d'augmenter la largeur de votre volet de détails, que trié les problèmes d'alignement pour moi.

0
répondu user3449721 2014-09-11 11:50:08