How to adjust text field with stretch with overflow

0

I use ireport 4.5.1 (I know it's so so old but it's at work and I don't have authority to upgrade it). 
Anyway, I have a text field with following value:

    $F{field1} + " — " + $F{field2}
Both field1 and field 2 are of java.lang.string type.
Since neither field1 nor field2 has consistent length, I have checked the stretch with the overflow property as TRUE. But the problem is that when I have a long text for field2 the rest of it comes below field1 while I need it begin right below field2.

Actually, it appears like: 

    something for field1 — something very long 
    for field2

While I need it like:

    something for field1 — something very long 
                           for field2
and if I put  $F{field1} in a separate text field, since it doesn't have a fixed length, sometimes an extra space appears after $F{field1} or if I set its stretch with overflow property as TRUE, $F{field1} appears in two lines, which I don't like it either.
Generally, I need $F{field1} appear in one line with only one space after that and $F{field2} to split in two lines, if its length is too long, and appear as I described above.
Is there any way to do that?

Here's jrxml file: 

    <?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="adjust_textField" language="groovy" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20">
        <property name="ireport.zoom" value="1.0"/>
        <property name="ireport.x" value="0"/>
        <property name="ireport.y" value="0"/>
        <parameter name="parameter1" class="java.lang.Integer"/>
        <queryString>
            <![CDATA[SELECT id, code, name FROM test_co1
    WHERE id = $P{parameter1}]]>
        </queryString>
        <field name="id" class="java.lang.Integer"/>
        <field name="code" class="java.lang.String"/>
        <field name="name" class="java.lang.String"/>
        <background>
            <band splitType="Stretch"/>
        </background>
        <title>
            <band splitType="Stretch"/>
        </title>
        <pageHeader>
            <band splitType="Stretch"/>
        </pageHeader>
        <columnHeader>
            <band splitType="Stretch"/>
        </columnHeader>
        <detail>
            <band height="125" splitType="Stretch">
                <textField isStretchWithOverflow="true">
                    <reportElement positionType="Float" x="41" y="66" width="270" height="20"/>
                    <textElement verticalAlignment="Bottom">
                        <font fontName="Gill Sans MT" size="12" isBold="true"/>
                    </textElement>
                    <textFieldExpression class="java.lang.String"><![CDATA[$F{code} + " — " + $F{name}]]></textFieldExpression>
                </textField>
            </band>
        </detail>
        <columnFooter>
            <band splitType="Stretch"/>
        </columnFooter>
        <pageFooter>
            <band splitType="Stretch"/>
        </pageFooter>
        <summary>
            <band splitType="Stretch"/>
        </summary>
    </jasperReport>

Which reads data from the following table: 

    CREATE TABLE public.test_co1 (
      id INTEGER,
      code TEXT,
      name TEXT
    ) ;
    
    /* Data for the 'public.test_co1' table  (Records 1 - 54) */
    
    INSERT INTO public.test_co1 ("id", "code", "name")
    VALUES 
      (1, E'J', E'WELDING & CUTTING'),
      (2, E'L', E'CONFINED SPACES'),
      (6, E'N', E'COMPRESSED GAS/FUEL CYLINDERS'),
      (7, E'K', E'NOISE EXPOSURE'),
      (8, E'I', E'RESPIRATORY PROTECTION'),
      (10, E'H', E'BLOODBORNE PATHOGENS'),
      (13, E'M', E'LOCKOUT/TAGOUT'),
      (30, E'L2', E'EXCAVATION AND TRENCHING'),
      (31, E'MISC3.5', E'Miscellaneous Class 3.5 Hours'),
      (32, E'MISC3', E'Miscellaneous Class 3 Hours'),
      (34, E'VIP80', E'LOCAL 80 TRAINING DOCUMENTS'),
      (38, E'DGPTP', E'DIRECTORS GUILD - PRODUCER TRAINING PROGRAM'),
      (39, E'MISC4.0', E'Miscellaneous Class 4.5 Hours'),
      (44, E'HOS', E'HOURS OF SERVICE'),
      (50, E'B1b1b1', E'CONDOR AERIAL LIFT'),
      (51, E'BCb1b1', E'Cribbing'),
      (52, E'B2b1b1', E'SPECIAL AERIAL LIFT FOR SET LIGHTING TECHNICIANS'),
      (53, E'B3b1b1', E'SPECIAL AERIAL LIFT FOR STUDIO GRIPS'),
      (3, E'O', E'he target table is joined to the tables mentioned '),
      (12, E'C1', E'he target table is joined to the tables mentioned '),
      (41, E'O1', E'he target table is joined to the tables mentioned '),
      (9, E'82018', E'less'),
      (40, E'82018', E'less'),
      (46, E'82018', E'less'),
      (11, E'D', E'row'),
      (22, E'D1', E'row'),
      (4, E'W18', E'MAKE-UP ARTISTS FACIAL APPL.'),
      (19, E'W18', E'ROPE & KNOT RIGGING'),
      (20, E'W18', E'INTERMEDIATE WEAPONS'),
      (24, E'W18', E'GREENBED ASSEMBLY'),
      (25, E'W18', E'CAR MOUNTS FOR GRIPS'),
      (26, E'W18', E'HIGH ANGLE RESCUE'),
      (27, E'W18', E'LOCAL 600 GENERAL RESPR. PROT.'),
      (28, E'W18', E'GRIPS 32 RIGGING COURSE'),
      (18, E'W18', E' 6 numbers. some have less than 6 numbers. '),
      (23, E'W18', E'less'),
      (16, E'W18', E'than'),
      (42, E'HP2', E'java code to iReport 5.5.0\r\nstm.saurabh94  (2) 7 hours 53 min ago iReport Designer'),
      (48, E'HP1', E'java code to iReport 5.5.0\r\nstm.saurabh94  (2) 7 hours 53 min ago iReport Designer'),
      (37, E'GD$', E'ASSISTANT DIRECTOR TRAINING PROGRAM - NEW YORK'),
      (17, E'W18', E'java code to iReport 5.5.0'),
      (21, E'W18', E'java code to iReport'),
      (29, E'S', E'java code to iReportFIREARM SAFETY'),
      (33, E'E2', E'java code to iReportFIRE EXTINGUISHER SAFETY'),
      (35, E'R', E'java code to iReportRIGGING SAFETY'),
      (36, E'V', E'java code to iReportLIGHTING SAFETY'),
      (43, E'r1', E'java code to iReportRIGGING SAFETY'),
      (47, E'V2', E'java code to iReportWORKPLACE ELECTRICIAL SAFETY'),
      (54, E'B5b1b1', E'java code to iReportTRADITIONAL INSERT CAR SAFETY'),
      (5, E'W18', E'java code to iReportLOCATION SAFETY'),
      (14, E'W18', E'java code to iReportBASIC FIREARM SAFETY CERT.'),
      (15, E'W18', E'java code to iReportWEAPON SAFETY FOR PROP. MASTERS'),
      (45, E'GD$', E'java code to iReportGENERAL SAFETY TRAINING/INJURY & ILLNESS PREVENTION PROGRAM'),
      (49, E'GD$', E'java code to iReportENVIRONMENTAL SAFETY');

When you enter 45 as the parameter value, it displays it as 

    GD$ — java code to iReportGENERAL SAFETY
    TRAINING/INJURY & ILLNESS PREVENTION
    PROGRAM


while I need it as :

    GD$ — java code to iReportGENERAL SAFETY
          TRAINING/INJURY & ILLNESS PREVENTION
          PROGRAM

blessed_spot's picture
Joined: Apr 28 2017 - 4:13pm
Last seen: 2 years 15 hours ago

0 Answers:

No answers yet
Feedback