2010-09-10 6 views
19

Ich verstehe, wie Parameter aus einem Hauptbericht an einen Unterbericht übergeben werden, da ein bestimmtes Feld im Unterberichtobjekt vorhanden ist. Ich möchte jedoch dasselbe mit einer Tabelle oder einem Listenobjekt als Verbraucher (und nicht als Unterbericht) machen. Ist es möglich?iReport: Übergeben von Parametern aus einer Hauptberichtabfrage an eine Datasetabfrage für eine Tabelle oder Liste

Angenommen, ich habe einen Parameter von 'customerID', den ich mit einer Hauptberichtabfrage füllen kann, aber ich kann diesen Parameter anscheinend nicht an die SQL-Abfrage der Datenmenge der Tabelle übergeben.

Ich habe versucht, und weiterhin versuchen, verschiedene Kombinationen von Parametern, Feldern und Variablen, aber ohne Erfolg.

Benötigt diese Art von Sache eine Unterbericht Implementierung?

(Wenn es darauf ankommt und nicht auf der Hand, ich bin mit JDBC)

Antwort

0

ich einen schnellen Test-Bericht zu replizieren, was Sie taten und es funktionierte.

Hier sind die Schritte, die ich gemacht habe.

  • Erstellen Sie einen Parameter in Ihrem Bericht, z. customerID

  • Übergeben Sie es zu Ihrem Hauptbericht in einer hashmap.

    hashmap.put("customerID", "12345");

  • In dem Bericht, um eine Immobilie zu The language of for the dataset querySQL.

  • Setzen Sie die Eigenschaft Query text auf etwas ähnliches wie unten.

    select * from * customers c where c.ID=$P{customerID}

+0

Ich habe versucht, diese aber nicht bekommen keinen Erfolg. –

11

Sie wissen nicht, welche Version Sie verwenden, aber ich konnte es in iReport 3.7.6 tun.

Zuerst füge ich die Parameter dem Datensatz hinzu.

Um die Werte an die Parameter zu übergeben, klicken Sie mit der rechten Maustaste auf die Tabelle im Informationsfenster "Bericht" und wählen Sie "Tabellen-Datenquelle bearbeiten". Gehe zur Registerkarte "Parameter". Jeder Datensatzparameter kann seinen Wert aus einem Parameter, einem Feld oder einer Variablen aus dem Hauptbericht übernehmen.

19

Um die Parameter von Hauptbericht die Tabelle oder Liste Datenquellen im iReport 3.6.7+, passieren müssen Sie folgende Schritte tun:

1) erforderliche Parameter erstellen in der Hauptbericht von rechts Klicken Sie auf den Parameter-Abschnitt des Haupt-Bericht ------> Parameter hinzufügen --------> Legen Sie die Eigenschaften (Datentyp) des neu hinzugefügten Parameters zu Ihrem gewünschten.

2) äquivalente Parameter im Parameterbereich der Tabelle/List-Datenquelle genau wie in Schritt 1 erstellen.

3) von Bericht Explorer mit der rechten Klick auf den Tisch und Klick auf Bearbeiten Tabelle DataSet ------> die Registerkarte Parameter wählen ---------- ->Klicken Sie auf hinzufügen ---------->wählen Sie den Parameter (die Sie in der Datenmenge Parameterbereich in Schritt 1 erstellt haben) aus oberen Combo (dh Dataset Parametername) --- ---> dann klicken Sie auf die untere Schaltfläche (dh) zuweisen Wert Ausdruck dh die Parameter, die Sie in Schritt 1 hinzugefügt.

Quelle: http://hamroblog-sristi.blogspot.fr/2011/04/passing-parameters-from-main-report-to.html

+1

Danke! Das ist es! – YarsRevenge13

+1

Danke Ouadie. Mit diesem Thema habe ich mich einen Tag lang herumgeschlagen. Ich habe versucht, sowohl iReport als auch JasperServer zum ersten Mal zu verwenden. – mwangi

Verwandte Themen