我正在修改一个现有的iReport文件,一个据称要求程序输入的文件。然后将输入放在一个表中,我假设,在数据进入时自动添加行。
但是,该程序没有提供数据,不再需要这样做。所以现在我只需要显示一个空表。
我在iReport中所做的是删除所有参数的痕迹(因为它们不再需要,并复制并粘贴所有单元格,直到它们到达页面底部。现在没有单元格(除了标题)和顶行,因为它们有静态文本)是可见的,其中一个报告甚至可以显示空白页。
我尝试过设置报告属性:无数据时:无数据部分或所有部分 - 无详细信息,但它仍为空,没有可见的单元格。我也尝试在文本字段中放置一个空格,希望它会显示,甚至用矩形替换它们(在另一个报告中有效)。然而,没有任何效果。报告仍然只显示标题。
我该如何解决这个问题?感谢。
这是JRXML:
<?xml version="1.0" encoding="UTF-8" ?>
<!-- Created with iReport - A designer for JasperReports -->
<!DOCTYPE jasperReport PUBLIC "//JasperReports//DTD Report Design//EN" "http://jasperreports.sourceforge.net/dtds/jasperreport.dtd">
<jasperReport
name="ApprenticeEmployment1"
columnCount="1"
printOrder="Vertical"
orientation="Landscape"
pageWidth="1008"
pageHeight="612"
columnWidth="948"
columnSpacing="0"
leftMargin="30"
rightMargin="30"
topMargin="20"
bottomMargin="20"
whenNoDataType="AllSectionsNoDetail"
isTitleNewPage="false"
isSummaryNewPage="false">
<property name="ireport.scriptlethandling" value="0" />
<property name="ireport.encoding" value="UTF-8" />
<import value="java.util.*" />
<import value="net.sf.jasperreports.engine.*" />
<import value="net.sf.jasperreports.engine.data.*" />
<parameter name="imagedir" isForPrompting="false" class="java.lang.String"/>
<field name="REGION" class="java.lang.String"/>
<field name="PROVINCE" class="java.lang.String"/>
<field name="FULL_QUALIFICATION" class="java.lang.String"/>
<field name="DELIVERY" class="java.lang.String"/>
<field name="SECTOR" class="java.lang.String"/>
<field name="STUDENT_ID" class="java.lang.String"/>
<field name="LAST_NAME" class="java.lang.String"/>
<field name="FIRST_NAME" class="java.lang.String"/>
<field name="MI" class="java.lang.String"/>
<field name="CONTACT_NUMBER" class="java.lang.String"/>
<field name="E_MAIL" class="java.lang.String"/>
<field name="STREET" class="java.lang.String"/>
<field name="BARANGAY" class="java.lang.String"/>
<field name="CITY" class="java.lang.String"/>
<field name="SEX" class="java.lang.String"/>
<field name="DOB" class="java.lang.String"/>
<field name="AGE" class="java.math.BigDecimal"/>
<field name="CIVIL_STAT" class="java.lang.String"/>
<field name="EDUC_LEVEL" class="java.lang.String"/>
<field name="DATE_STARTED" class="java.lang.String"/>
<field name="DATE_FINISHED" class="java.lang.String"/>
<field name="REMARKS" class="java.lang.String"/>
<background>
<band height="0" isSplitAllowed="true" >
</band>
</background>
<title>
<band height="51" isSplitAllowed="true" >
<staticText>
<reportElement
x="0"
y="30"
width="948"
height="21"
key="staticText-1"/>
<box></box>
<textElement textAlignment="Center" verticalAlignment="Bottom">
<font pdfFontName="Helvetica-Bold" isBold="true"/>
</textElement>
<text><![CDATA[Apprentice Report Form]]></text>
</staticText>
<image hAlign="Center" evaluationTime="Now" hyperlinkType="None" hyperlinkTarget="Self" >
<reportElement
x="238"
y="0"
width="470"
height="37"
key="image-1"/>
<box></box>
<graphicElement stretchType="NoStretch"/>
<imageExpression class="java.lang.String"><![CDATA[$P{imagedir}+"goldilocks-small.JPG"]]></imageExpression>
</image>
</band>
</title>
<pageHeader>
<band height="0" isSplitAllowed="true" >
</band>
</pageHeader>
<columnHeader>
<band height="65" isSplitAllowed="true" >
<staticText>
<reportElement
x="0"
y="18"
width="34"
height="31"
key="staticText-3"/>
<box> <topPen lineWidth="0.25"/>
<leftPen lineWidth="0.25"/>
<bottomPen lineWidth="0.25"/>
<rightPen lineWidth="0.25"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font/>
</textElement>
<text><![CDATA[Sex]]></text>
</staticText>
<staticText>
<reportElement
x="271"
y="18"
width="58"
height="31"
key="staticText-4"/>
<box> <topPen lineWidth="0.25"/>
<leftPen lineWidth="0.25"/>
<bottomPen lineWidth="0.25"/>
<rightPen lineWidth="0.25"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font/>
</textElement>
<text><![CDATA[Scholarship]]></text>
</staticText>
<staticText>
<reportElement
x="453"
y="18"
width="42"
height="31"
key="staticText-5"/>
<box> <topPen lineWidth="0.25"/>
<leftPen lineWidth="0.25"/>
<bottomPen lineWidth="0.25"/>
<rightPen lineWidth="0.25"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font/>
</textElement>
<text><![CDATA[Client Type
]]></text>
</staticText>
<staticText>
<reportElement
x="0"
y="1"
width="741"
height="17"
key="staticText-6"/>
</band>
</columnHeader>
<detail>
<band height="456" isSplitAllowed="true" >
<textField isStretchWithOverflow="true" isBlankWhenNull="true" evaluationTime="Now" hyperlinkType="None" hyperlinkTarget="Self" >
<reportElement
x="0"
y="432"
width="34"
height="18"
key="textField-378"
stretchType="RelativeToTallestObject"
positionType="Float"/>
<textElement verticalAlignment="Middle">
<font size="8"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" evaluationTime="Now" hyperlinkType="None" hyperlinkTarget="Self" >
<reportElement
x="0"
y="72"
width="34"
height="18"
key="textField-458"
stretchType="RelativeToTallestObject"
positionType="Float"/>
<textElement verticalAlignment="Middle">
<font size="8"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[]]></textFieldExpression>
</textField>
</band>
</detail>
<columnFooter>
<band height="0" isSplitAllowed="true" >
</band>
</columnFooter>
<pageFooter>
<band height="0" isSplitAllowed="true" >
</band>
</pageFooter>
<summary>
<band height="0" isSplitAllowed="true" >
</band>
</summary>
</jasperReport>
我确实编辑了很多“盒子”,所以如果格式错了,那就是我而不是JRXML本身。
此致 Zack_Falcon
答案 0 :(得分:3)
要创建一个包含N个空记录的表,即使您没有数据。
new net.sf.jasperreports.engine.JREmptyDataSource(44)
44
是显示空记录的数字。
答案 1 :(得分:1)
在表格属性中,在表格部分下选择“所有部分,无详细信息”
答案 2 :(得分:0)
你可以试试这个条件
$P{Parameter}==null ? "All" : $P{Parameter}
如果您没有选择任何输入值,则此条件会为您提供所有文本。