Jasper-reports-jasper-report-fields
レポートフィールド
レポートフィールドは、データソースとレポートテンプレート間のデータのマッピングを表す要素です。 レポート式でフィールドを組み合わせて、目的の出力を取得できます。 レポートテンプレートには、0個以上の<field>要素を含めることができます。 レポートフィールドを宣言するとき、データソースはレポートテンプレートで定義されたすべてのフィールドに対応するデータを提供する必要があります。
フィールド宣言
フィールド宣言は以下に示すように行われます-
名前属性
<field>要素の_name_属性は必須です。 レポート式のフィールドを名前で参照します。
クラス属性
_class_属性は、フィールド値のクラス名を指定します。 デフォルト値は_java.lang.String_です。 これは、実行時に使用可能な任意のクラスに変更できます。 レポートフィールドのタイプに関係なく、エンジンは$ F \ {}トークンが使用されているレポート式でのキャストを処理するため、手動キャストが不要になります。
フィールドの説明
<fieldDesciption>要素はオプションの要素です。 これは、カスタムデータソースを実装するときに非常に便利です。 たとえば、実行時にカスタムデータソースからフィールドの値を取得できるキーまたは情報を保存できます。 フィールド名の代わりに<fieldDesciption>要素を使用することにより、データソースからフィールド値を取得するときに、フィールドの命名規則の制限を簡単に克服できます。
以下は、既存のJRXMLファイルからのコードの一部です(チャプターリンク:/jasper_reports/jasper_report_designs [Report Designs])。 ここでは、 _ name ' 、 ' class_ 、および fieldDescription 要素の使用法を確認できます。
フィールドを並べ替える
データの並べ替えが必要で、データソースの実装がそれをサポートしていないとき(例: CSVデータソース)、JasperReportsは、メモリ内のフィールドベースのデータソースソートをサポートしています。 並べ替えは、レポートテンプレートの1つ以上の<sortField>要素を使用して実行できます。
少なくとも1つの並べ替えフィールドが指定されている場合、レポート入力プロセス中に、データソースが_JRSortableDataSource_インスタンスに渡されます。 これにより、データソースからすべてのレコードがフェッチされ、指定されたフィールドに従ってメモリ内でソートが実行され、元のデータソースが置き換えられます。
ソートフィールド名は、レポートフィールド名と同一である必要があります。 ソートに使用されるフィールドには、java.util.Comparableを実装する型が必要です。 自然順序ソートは、タイプjava.lang.Stringのフィールドを除くすべてのフィールドに対して実行されます(ストリングタイプの場合、レポート入力ロケールに対応するコレーターが使用されます)。 複数の並べ替えフィールドを指定すると、フィールドはレポートテンプレートに表示される順序で並べ替えキーとしてフィールドを使用して実行されます。 次の例は、ソート機能を示しています。
ソートされたレポートの例
<* sortField *>要素を既存のレポートテンプレートに追加しましょう(チャプターリンク:/jasper_reports/jasper_report_designs [レポートデザイン])。 フィールド_country_を降順でソートしましょう。 改訂されたレポートテンプレート(jasper_report_template.jrxml)は次のとおりです。 C:\ tools \ jasperreports-5.0.1 \ testディレクトリに保存します-
レポート入力のJavaコードは変更されません。 ファイル C:\ tools \ jasperreports-5.0.1 \ test \ src \ com \ finddevguides \ JasperReportFill.java の内容は以下のとおりです-
POJOファイル C:\ tools \ jasperreports-5.0.1 \ test \ src \ com \ finddevguides \ DataBean.java の内容は以下のとおりです-
レポート作成
通常のANTビルドプロセスを使用して、上記のファイルをコンパイルおよび実行します。 ファイルbuild.xmlの内容(ディレクトリC:\ tools \ jasperreports-5.0.1 \ testに保存)は以下のとおりです。
インポートファイル-baseBuild.xmlは、チャプターリンク:/jasper_reports/jasper_environment_setup [Environment Setup]から選択され、build.xmlと同じディレクトリに配置する必要があります。
次に、コマンドラインウィンドウを開き、build.xmlが配置されているディレクトリに移動します。 最後に、次のようにコマンド ant -Dmain-class = com.finddevguides.JasperReportFill (viewFullReportがデフォルトのターゲットです)を実行します-
上記のコンパイルの結果、JasperViewerウィンドウが開き、以下の画面に表示されます-
ここでは、国名がアルファベット順に降順で配置されていることがわかります。