Tiro monedas al aire, pero hasta ahora nunca las pude agarrar.

Tuve un problema que se me encimaban los textos cuando venían de la base de datos y sobrepasaban los limites. Les muestro un ejemplo de como tenia los textos y si por ejemplo venía mucha información en biografía de la base de datos, se me encimaba con la información de comentarios.

Ejemplo en Jasper Reports
Ejemplo en Jasper Reports

La solución es usar Frame por cada fila y agregar lo siguiente:

  • En el elemento Frame, en la propiedad reportElemento agregar positionType=»Float».
  • En los elementos staticText y textField, en la propiedad reportElement agregar positionType=»Float» y isPrintWhenDetailOverflows=»true».
  • En el elemento textField tiene que tener isStretchWithOverflow=»true».

Un ejemplo de una fila sería:
<frame>
<reportElement positionType=»Float» x=»5″ y=»-209″ width=»1137″ height=»47″ uuid=»24bdb4df-9c62-4d68-a508-69c19f4cefbe»/>
<textField isStretchWithOverflow=»true» isBlankWhenNull=»true»>
<reportElement positionType=»Float» x=»206″ y=»0″ width=»931″ height=»47″ isPrintWhenDetailOverflows=»true» uuid=»59c77113-1e89-4d02-a08a-a3bfe339f709″/>
<textElement>
<font size=»11″/>
</textElement>
<textFieldExpression><![CDATA[$F{biografía}]]></textFieldExpression>
</textField>
<staticText>
<reportElement positionType=»Float» x=»0″ y=»0″ width=»202″ height=»20″ isPrintWhenDetailOverflows=»true» uuid=»4121ce66-381c-49da-926d-550a65fb90b8″/>
<textElement textAlignment=»Right»>
<font size=»12″ isBold=»true»/>
</textElement>
<text><![CDATA[Biografía:]]></text>
</staticText>
</frame>

No se olviden que tienen que hacer por cada fila el uso del Frame con las propiedades que había citado anteriormente.

Con lo anterior ya solucionarían el problema del encimado de texto en Jasper Reports.


Comments

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *