DynamicJasper - подотчет не отображается - PullRequest
1 голос
/ 11 ноября 2011

Я новичок в DynamicJasper.

Я создаю отчет, который содержит вложенный отчет, я могу успешно запустить исходный отчет без каких-либо ошибок, но вложенный отчет не отображается.

Я использую DynamicReportBuilder (drb) для создания моего основного отчета, мне интересно, что я неправильно добавляю свой подотчет.

Ниже показано, как я строю свой подотчет

private DynamicReport subReportTesting() throws Exception 
{

      DynamicReportBuilder drb = new DynamicReportBuilder();
      DynamicReport dr = drb.addColumn(subAbstractColumn1)
            .addColumn(subAbstractColumn2)
            .addColumn(subAbstractColumn3)
            .setPrintColumnNames(true)
            .setIgnorePagination(true)
            .setMargins(0, 0, 0, 0) 
            .setTitle("Sales Report") 
            .setSubtitle("This report was generated at " + new Date()) 
            .setUseFullPageWidth(true)
            .build();

    return dr;

}

и вот как я могу добавить свой основной отчет и подотчет.

public DynamicReport buildReport() throws Exception {
{

     DynamicReportBuilder drb = new DynamicReportBuilder();
     drb.setTitle("This is original report")
        .setSubtitle("This is subtitle")            
        .setMargins(15, 15, 15, 15)
        .setUseFullPageWidth(true);
        .setDetailHeight(30);
        .setAllowDetailSplit(true);
        .addColumn(mainAbstractColumn1);
        .addColumn(mainAbstractColumn2);
        .addColumn(mainAbstractColumn3);

     DynamicReport myDynamicReport = new DynamicReport();

        try {
            myDynamicReport = subReportTesting();
        } catch (Exception e) {
            e.printStackTrace();
        }

        SubReportBuilder srb = new SubReportBuilder();
        srb.setDynamicReport(myDynamicReport, new ClassicLayoutManager());

        try {
            mySubReport = srb.build();

            **drb.addConcatenatedReport(mySubReport);**

          } catch (DJBuilderException e) {
              e.printStackTrace();
          }
       DynamicReport myMainReport = drb.build();

       return myMainReport;
}

Мое содержимое добавляется с использованием prepareStatement и HashMap.
Я ожидаю, что в подотчете будут отображаться заголовок, подзаголовок и заголовок столбца, даже если в его содержимом нет данных для отображения, но в настоящее время он ничего не показывает о подотчете.

Пожалуйста, поправьте меня, если я сделаю какую-либо ошибку. Большое вам спасибо.

1 Ответ

0 голосов
/ 26 июня 2012
...