3

このサンプル テンプレートを実行すると、なぜテキストが表示されないのか、現在のところわかりません。

<?xml version="1.0"?>
<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="SampleReport" pageWidth="798" pageHeight="1000">
    <title>
        <band height="50">
          <staticText>
            <reportElement x="0" y="0" width="180" height="15"/>
            <textElement/>
            <text>
              <![CDATA[Sample Title]]>
            </text>
          </staticText>
        </band>
      </title>
    <detail>
        <band height="20">
            <staticText>
                <reportElement x="20" y="0" width="200" height="20"/>
                <text>
                    <![CDATA[Sample Text]]>
                </text>
            </staticText>
        </band>
    </detail>
</jasperReport>

このテストをこのように実行するために、ant タスクを使用しました。

<target name="viewDesignXML"
    <java classname="net.sf.jasperreports.view.JasperDesignViewer"
        fork="true">
        <arg value="-XML" />
        <arg value="-F${file.name}.jrxml" />
        <classpath refid="classpath" />
    </java>
</target>

これは、Eclipse 3.6 を使用した Jasperreport 4.5 です。

ありがとう

4

1 に答える 1

14

データソースを指定しなかったため、レポートの原因は空です。

「空の」レポートを表示するためのwhenNoDataType( iReportのプロパティ)レポートの属性を設定できます。When No Data

この属性の可能な値は次のとおりです。

  • ページなし:生成されたドキュメントにはページがありません。このようなドキュメントを読み込もうとすると、ビューアがエラーをスローする場合があります(whenNoDataType="NoPages")。
  • 空白ページ:生成されたドキュメントには、単一の空白ページ(whenNoDataType="BlankPage")が含まれます。
  • すべてのセクション、詳細なし:詳細セクション(バンド)を除くすべてのレポートセクションが、生成されたドキュメント( whenNoDataType="AllSectionsNoDetail")に表示されます。
  • データセクションなし:生成されたドキュメントには、単一のnoDataセクション(バンド)(whenNoDataType="NoDataSection")のみが含まれます。

noDataセクションを使用する場合は、このバンドをレポートのテンプレートに追加する必要があります(たとえば、iReportを使用して)。


このようなJavaコードを使用している場合:

JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport,
       map, new JREmptyDataSource());

これは、空のデータソースを渡している、つまりデータソースを渡していないことを意味します。

データソースとデータベース接続を渡さなかった場合、レポートでデータを表示する唯一の機会は、パラメーターを介してデータを渡すことです(またはレポートのテンプレート内でパラメーターを初期化します)

于 2012-04-23T09:32:21.410 に答える