Я работаю с динамическими подотчетами яшмы, у меня есть источник данных, который содержит
отображение один-ко-многим, детали пользователя со списком ролей, я пытаюсь добиться
основной отчет должен содержать детали пользователя, а подотчет должен содержать список ролей, первичный ключ между ними - userId
Ссылка от http://dynamicjasper.com/2010/10/06/how-to-add-subreports-fast-way/
Я делаю то же самое, но получаю сообщение об ошибке. Я получаю сообщение об ошибке. Иногда я не могу найти, а иногда просто пустой pdf
открытый класс SubReportTest расширяет BaseDjReportTest {
public DynamicReport buildReport() throws Exception {
FastReportBuilder drb = new FastReportBuilder();
drb.addColumn("UserId", "userId", Integer.class.getName(),30)
.addColumn("Name", "name", String.class.getName(),30)
.addColumn("Product Line", "productLine", String.class.getName(),50)
.addColumn("Item", "item", String.class.getName(),50)
.addColumn("Item Code", "id", Long.class.getName(),30,true)
.addColumn("Quantity", "quantity", Long.class.getName(),60,true)
.addColumn("Amount", "amount", Float.class.getName(),70,true)
.addGroups(1)
.setMargins(5, 5, 20, 20)
.setTitle("November " + getYear() +" sales report")
.setSubtitle("This report was generated at " + new Date())
.setUseFullPageWidth(true);
drb.addField("userRolesList", List.class.getName());
DynamicReport drFooterSubreport = createFooterSubreport();
drb.addSubreportInGroupHeader(2, drFooterSubreport, new ClassicLayoutManager(),
"userRolesList", DJConstants.DATA_SOURCE_ORIGIN_FIELD, DJConstants.DATA_SOURCE_TYPE_COLLECTION);
drb.setUseFullPageWidth(true);
DynamicReport dr = drb.build();
return dr;
}
private DynamicReport createFooterSubreport() throws Exception {
FastReportBuilder rb = new FastReportBuilder();
DynamicReport dr = rb
.addColumn("RoleID", "roleId", Integer.class.getName(), 100)
.addColumn("Type", "type", String.class.getName(), 50)
.addColumn("Status", "status", String.class.getName(), 50)
.addGroups(1)
.setMargins(5, 5, 20, 20)
.setUseFullPageWidth(true)
.setTitle("Footer Subreport for this group")
.build();
return dr;
}
public static void main(String[] args) throws Exception {
SubReportTest test = new SubReportTest();
test.testReport();
JasperViewer.viewReport(test.jp);
}
}
Я получаю сообщение об ошибке a roleId can't find
, я нашел много решений для jrxml, также я не хочу использовать jrxml, я ищу просто решение для java.