У меня есть отчет Jasper, над которым я работаю в Java.Как динамически добавлять несколько частей данных в отчеты Jasper
В Java можно динамически заполнять боб с данными с помощью следующего кода:
List<ThemeBean> themes = new ArrayList<ThemeBean>();
CSVReader csvReader = new CSVReader(new FileReader(csvFilename));
List<String[]> data = csvReader.readAll();
for(String[] d : data) {
ThemeBean tb = new ThemeBean();
tb.setThemes(d[0]);
tb.setComments(d[1]);
tb.setSentiment(d[2]);
themes.add(tb);
}
JasperDesign jasperDesign = JRXmlLoader.load(fileName);
JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(themes);
JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, null, ds);
Это хорошо работает, когда файл .jrxml указал правильные поля и textFieldExpression в тегах ...
следующая получает динамически заполняется список, который был построен:
<textFieldExpression><![CDATA[$F{themes}]]></textFieldExpression>
Моя проблема является выяснение того, как сделать это динамично два дифф в том же отчете. Кажется, что я могу использовать только одну итерацию данных для динамического добавления. Я пытаюсь достичь результата, когда у меня есть две совершенно разные таблицы, созданные в одном отчете. Если этот вопрос не ясен, сообщите мне, и я попытаюсь его исправить. Благодарю.
Я не уверен, если я полностью понимаю ваш вопрос, как я использую и старую версию Jasper, и я на самом деле не иметь дело с базовую архитектуру, поскольку она уже реализована в нашей системе, но, возможно, то, что вы собираетесь использовать, - это подписи. – jonny2k9
Что означает «два разных набора данных»? и список в одном сообщении? И показывать все записи в одной таблице? для первого выполнения и список для второго исполнения? С одним полем $ F {themes} –
sanBez
1. Является ли попытка использовать Список
2. Или пытается использовать список
Это попытка использовать Список в одной таблице, а List - это другая таблица, но все в том же отчете –
Tyrick