создание подотчета с помощью инструмента iReport для JasperReports - PullRequest
0 голосов
/ 18 января 2010

Я работаю над приложением struts. Я хочу создать отчет Jasper, содержащий вопросы и ответы для объекта Paper. Ясно, что у меня есть список Paper объектов, содержащих атрибут части, и каждый объект Paper внутренне имеет список Questions. Также каждый Question имеет список ответов.

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

Мои классы моделей будут:

// Paper
public class Paper {

    public String partName;
    public List<Question> questions;
}

// Question
public class Question {

    public String question;
    public List<Answer> answers;
}

// Answer
public class Answer {

    public String answer;
}

Я знаю, что должен использовать подотчет в iReport. Когда я это сделал, компиляция не удалась для выражения источника данных new JRBeanCollectionDataSource($F{questions})

Ответы [ 2 ]

1 голос
/ 24 февраля 2010

новый net.sf.jasperreports.engine.data.JRBeanCollectionDataSource ($ F {questions})

0 голосов
/ 20 мая 2010

PerFect ............ Кроме того, пожалуйста, импортируйте классы в ваш основной отчет

 <import value="net.sf.jasperreports.engine.*"/>
 <import value="net.sf.jasperreports.engine.data.*"/>

и тег подотчета будет иметь

<subreport isUsingCache="true">
<reportElement x="0" y="39" width="555" height="276"/>
<dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{addresses})]]></dataSourceExpression>
<subreportExpression class="java.lang.String"><![CDATA[$P{SUBREPORT_DIR} + "report1_subreport5.jasper"]]></subreportExpression>
</subreport>

А подотчет будет выглядеть как обычные поля. примечание: подотчет не будет скомпилирован и выдаст ошибку, что он не сможет найти поле в бине.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...