10

いいえ、名前、住所、電話、メールの列を持つテーブルがあります。NoJava クラスからパラメーターを渡さずに、列に自動番号を設定したいと思います。ELでそれを解決するものはありますかJasperReport。バージョン5.1を使用しています。

注 : 簡単な表として、ソースとテンプレートは提供しませんでした。

4

2 に答える 2

0

整数値の代わりにアルファベットを出力することもできます。つまり、1,2,3... の代わりに a,b,c... を出力できます。

そのためには、シーケンス番号として印刷するアルファベットのリストを渡す必要があります。ここでは、次のコードを使用して文字リストを作成します。

List<String> characters = new ArrayList<String>(26);
for (char c = 'a'; c <= 'z' ; c++) {
    characters.add(String.valueOf(c));
}                 
parametersMap.put("charactersList", characters);

ここで、デザインに次の式を追加して、数字ではなくアルファベットで結果を表示します。

<textFieldExpression><![CDATA[$P{charactersList}.get(($V{REPORT_COUNT}-1)%26)]]></textFieldExpression>

これにより、指定されたインデックスのリストに格納されているアルファベットとしてシーケンスがレンダリングされます。

于 2015-09-18T12:09:58.160 に答える