2013-08-06 2 views
9

Ich habe eine Tabelle, die keine, Name, Adresse, Telefon, E-Mail-Spalten haben. Ich möchte automatische Nummer in No Spalte ohne Parameter, die Form meiner Java-Klasse übergeben. Gibt es EL oder etwas, um es in JasperReport zu lösen. Ich benutze Version 5.1.Automatische Zeilennummer in Jasper Report Tabelle

Hinweis: Als einfache Tabelle habe ich die Quelle und Vorlage nicht angegeben.

+0

Keine db, ich passiere, 'Person List' als' JRBeanCollectionDataSource (personList) '. – CycDemo

+4

Haben Sie versucht, die eingebaute Variable 'REPORT_COUNT' * zu verwenden? –

+0

thz, es ist in Ordnung. Ich weiß nicht, welche eingebaute Variable ist. – CycDemo

Antwort

18

Versuchen Sie, diese

ein Textfeld setzen und unter dem Ausdruckseditor diese $V{REPORT_COUNT} einfügen und speichern und den Jaspis jrxml

$V{REPORT_COUNT} ist eine integrierte Variable ausgeführt werden.

Setzen Sie die Auswertungszeit des Textfelds auf "Bericht", wenn Sie am endgültigen Wert interessiert sind.

+0

lesen dieser Hinweis, aber ich weiß nicht, welche eingebaute Variable ist. thz. – CycDemo

+0

Gibt es eine Möglichkeit, es als Alphabete zu drucken? –

0

Wir können auch Alphabete anstelle von ganzzahligen Werten drucken. Dh Wir können a, b, c ... statt 1,2,3 ...

Dafür müssen wir eine Liste von Alphabeten, die Sie für Sequenznummer drucken möchten, übergeben, hier werde ich verwenden folgende Code Zeichenliste zu erstellen,

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

nun in dem Entwurf den folgenden Ausdruck addierte das Ergebnis in Alphabeten statt Zahlen angezeigt werden,

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

Dies wird die Sequenz als Alphabete macht, die in Liste gespeichert bei gegebenem Index.

Verwandte Themen