23

JasperReportsを使用して生成された多数のレポートを含むシステムに取り組んでいます。新しい機能の 1 つは、レポートのスタイルを定義できることです。

利用可能なドキュメントから、使用するスタイルを定義する外部ファイルを作成する方法がいくつかあると思います。ジャスパー レポートでそれを参照できます。これにより、単一のスタイルを複数のレポートで使用できます。

これが実際の機能であるかどうか、またそうである場合はその使用方法に関する具体的な情報を見つけることができません。jasper レポートの外部スタイルを使用できるかどうか、またその方法を知っている人はいますか?

4

3 に答える 3

30

JasperReportテンプレートを使用します。JasperReportsテンプレートは、で終わるテンプレートであり.jrtx、次のようになります(styles.jrtx):

<?xml version="1.0"?>
<!DOCTYPE jasperTemplate
  PUBLIC "-//JasperReports//DTD Template//EN"
  "http://jasperreports.sourceforge.net/dtds/jaspertemplate.dtd">

<jasperTemplate>
    <style name="Report Title" isDefault="false" hAlign="Center" fontSize="24" isBold="true"/>
    <style name="Heading 1" isDefault="false" fontSize="18" isBold="true"/>
    <style name="Heading 2" isDefault="false" fontSize="14" isBold="true"/>
</jasperTemplate>

次に、.jrxmlファイルにそれをテンプレートとして含めます。

...
<template><![CDATA["styles.jrtx"]]></template>
...

iReportもこれを理解しているため、スタイルがインポートされ、iReportに正しく表示されます(ただし、リロードや再コンパイルが必要な場合は、スタイルが取得されないことがあります)。

于 2008-10-15T20:47:52.410 に答える
9

<template>実行時にレポートに渡されるパラメーターを使用して、要素に実際のファイル名を指定することを回避することもできます

<parameter name="TEMPLATE_FILE" isForPrompting="false" class="java.lang.String"/>

<template><![CDATA[$P{TEMPLATE_FILE}]]></template>

ここで、$P{TEMPLATE_FILE}はスタイルリソースへのフルパスです。

于 2009-02-27T18:14:25.127 に答える
5

BilalSiddiquiによるJasperReportDevelopmentクックブックという本から、私のようなレポートデザイナーにとって非常に役立つと思うJasperレポートでのスタイルの使用に関する私の学習を共有したいと思います。私はこの本が好きで、次のようなさまざまな方法でスタイルを示すことがわかりました。

  • 再利用可能なスタイルの
    作成新しいレポートを作成するときに「スタイル」を選択し、テキスト、線、長方形のスタイルを定義するだけです。スタイルファイルは.jrtxファイルとして保存されます。

  • レポートに再利用可能なスタイルをインポートするレポート
    にスタイルをインポートする場合、3つの情報があります。ステップ1。スタイルテンプレートの名前と場所

<template><![CDATA["C:\\ BigBoldRedTemplate.jrtx"]]></template>

ステップ2。スタイルテンプレートを使用してレポート要素にスタイルを適用するたびに、次のように<reportElement>タグが作成されます。

//style applied to a rectangle
<rectangle radius="10">
    <reportElement style="BigBoldRed" mode="Transparent" x="0" y="0" width="555" height="44"/>
</rectangle>
//style applied to a the text field
<staticText>
        <reportElement style="BigBoldRed" x="0" y="0" width="555" height="66"/>
        <textElement textAlignment="Center" verticalAlignment="Middle"/>
        <text><![CDATA[Monthly Customer Invoices]]></text>
</staticText>
  • レポートで内部スタイルと再利用可能なスタイルを混在させる
  • HTMLの力を使用してレポートのスタイルを設定する
    たとえば、テキストフィールドにHTMLタグ(つまり<li>)を含む次の式があり、HTMLタグをレポートデザインで機能させるには、次のようにします。
"<li>"+"Invoice # "+$F{InvoiceID}+", "+

$ F {CustomerName}+"は"+$ F{InvoicePeriod}+"で"+$ F {ProductName} + "を購入しました(請求書の値:\ $" + $ F {InvoiceValue} + ")" + "

解決策は簡単です。テキストフィールドの「Markup」プロパティを「Styled」に設定するだけです。

この投稿のJasperReportsクックブックからコードチャンクをコピーする許可を著者から取得しました。

于 2010-08-25T06:20:42.933 に答える