Tengo una tabla en iReport con 3 campos (A, B, C). Me gustaría imprimir la fila si el campo C no es nulo. Por ejemplo, si tengo 2 registros en mi fuente de datos:Cómo borrar filas en una tabla si una expresión es válida en iReport
A = primera, B = segundo, C = tercera
A = arriba, B = abajo, C = NULL
la tabla debe tener solo la primera fila.
He intentado insertar esta expresión en cada celda (en "Imprimir cuando la expresión" propiedad):
!$F{C}.equals(null)
pero de esta forma el resultado es que la segunda fila está vacía (pero visible).
Editar: después de la primera respuesta (ahora borrado) las columnas de la tabla son algo así como:
<jr:column ...>
<jr:columnHeader ...>
<staticText>
<reportElement .../>
<text><![CDATA[ID]]></text>
</staticText>
</jr:columnHeader>
<jr:detailCell ...>
<textField isBlankWhenNull="false">
<reportElement ... isRemoveLineWhenBlank="true">
<printWhenExpression><![CDATA[$F{ID}!=null]]></printWhenExpression>
</reportElement>
<textFieldExpression><![CDATA[$F{ID}]]></textFieldExpression>
</textField>
</jr:detailCell>
</jr:column>
<jr:column ...>
<jr:columnHeader ...>
<staticText>
<reportElement .../>
<text><![CDATA[CITY]]></text>
</staticText>
</jr:columnHeader>
<jr:detailCell ...>
<textField isBlankWhenNull="false">
<reportElement ... isRemoveLineWhenBlank="true">
<printWhenExpression><![CDATA[$F{ID}!=null]]></printWhenExpression>
</reportElement>
<textFieldExpression><![CDATA[$F{CITY}]]></textFieldExpression>
</textField>
</jr:detailCell>
</jr:column>
La fuente de datos es un archivo XML. Lo he intentado también con isBlankWhenNull="true"
pero sin cambios. Aquí una pantalla del resultado:
¿Se puede publicar la captura de pantalla del informe resultante? –
@AlexK Actualizado. – Baduel
Sí, este es un problema. Alguien ya ha publicado [el mismo caso en jasperforge.org] (http://jasperforge.org/plugins/espforum/view.php?group_id=102&forumid=103&topicid=91738) foro. –