JasperReport - elementy listy w details

JasperReport - elementy listy w details
81
  • Rejestracja:prawie 12 lat
  • Ostatnio:prawie 9 lat
  • Postów:8
0

Witam,
Mam raport, któremu danych dostarczam w poniższy sposób:

Kopiuj
JasperPrint jp = JasperFillManager.fillReport(is, params, new JRBeanCollectionDataSource(pl.itmedia.print.RozliczenieWydruk.getDane(daneDoWstawienia)));

Wszystko gra, ale obiekt "rozliczenie" klasy Rozliczenie zawiera listę.

Kopiuj

public class Rozliczenie{


public static List<Rozliczenie> getRozliczenie(MojeDane daneDoWstawienia){
    List<Rozliczenie> lista = new ArrayList<Rozliczenie>();
    Rozliczenie r = new Rozliczenie();
    r.setDataRozliczenia(daneDoWstawienia.getJakisObiektDaty());
    r.setPracownik(daneDoWstawienia.getJakisObiektPracownika());
    r.setPozycje(daneDoWstawienia.getJakasListaPozycji());
    lista.add(r);
    }




// gettery i settery

private Date dataRozliczenia;
private Pracownik pracownik;
private List<PozycjaRozliczenia> pozycje;
}

Pytanie brzmi: Wszystkie dane w raporcie (data, pracownik) wyświetlają się bardzo ładnie, ale w jaki sposób w sekcji DETAILS wyświetlić poszczególne elementy listy ? W tej chwili wstawia mi listę jako jeden obiekt zamiast elementy tej listy, coś a'la:
[pl.mojapaczka.MojaKlasa@1ed23ef...

init0
to lista tego tak od do stringa nie przepiszesz.
0

Odp. subreport

81
  • Rejestracja:prawie 12 lat
  • Ostatnio:prawie 9 lat
  • Postów:8
0
SubRogo napisał(a):

Odp. subreport

Subreport to pierwsza myśl jaka sie nasuwa. Niestety nie zdaje egzaminu w tym wypadku, podobnie jak komponent Lista.
Znalazłem rozwiązanie, które rzekomo autorowi działa. Mi niestety nie :

http://stackoverflow.com/questions/12209300/jrbeancollectiondatasource-how-to-show-data-from-the-java-util-list-from-javabe

U mnie raport sie kompiluje, ale w trakcie działania programu mam :

Exception in thread "Thread-1" net.sf.jasperreports.engine.JRRuntimeException: net.sf.jasperreports.engine.fill.JRExpressionEvalException: Error evaluating expression :
Source text : $F{cities}
at net.sf.jasperreports.components.list.VerticalFillList.prepare(VerticalFillList.java:139)

81
  • Rejestracja:prawie 12 lat
  • Ostatnio:prawie 9 lat
  • Postów:8
0

ok, problem rozwiązany. Link, który podałem jest rozwiązaniem problemu - mój błąd był banalny (błędne rzutowanie).
Zapewne w podobny sposób możnaby uzyć subreportu, ale uzycie komponentu listy wydało mi się lżejsze.
Dzięki SubRogo.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.