Как передать список javabeans в подотчет?

Я пытаюсь использовать список javabean в подотчете, в котором есть 2 поля вместе с геттерами и сеттерами, объявленными как

public class ProjectEventBean implements java.io.Serializable {
    private int projectId;
    private List<EventCostEntity> eventCostObjectList= new ArrayList<EventCostEntity>(); 
}

в моем основном отчете есть следующее

        <subreport>
            <reportElement x="4" y="460" width="564" height="58" uuid="2e209cbe-a44e-4664-b31c-5bd0971dfd6e"/>
            <dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{eventCostObjectList})]]></dataSourceExpression>
            <subreportExpression><![CDATA[$P{SUBREPORT_DIR}.toString()+"/eventDetail2_Costs.jasper"]]></subreportExpression>
        </subreport>

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

     <jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="eventDetail2_Costs" pageWidth="612" pageHeight="792" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="c0905867-c90a-49e0-86c6-75dc8b0ae946">
<queryString>
    <![CDATA[]]>
</queryString>
<field name="eventCostObjectList" class="java.util.List">
    <fieldDescription><![CDATA[eventCostObjectList]]></fieldDescription>
</field>
<field name="name" class="java.lang.String">
    <fieldDescription><![CDATA[name]]></fieldDescription>
</field>
<field name="cost" class="java.math.BigDecimal">
    <fieldDescription><![CDATA[cost]]></fieldDescription>
</field>
<columnHeader>
    <band height="80" splitType="Stretch">
        <staticText>
            <reportElement x="-11" y="20" width="100" height="22" uuid="575d25b1-1ae6-4396-a874-b51393409bda"/>
            <textElement>
                <font size="12" isBold="true" isUnderline="true"/>
            </textElement>
            <text><![CDATA[Costs:]]></text>
        </staticText>
        <staticText>
            <reportElement x="0" y="60" width="100" height="20" uuid="5b824dd4-cd12-452e-ae3f-5e23e9d6b3d2"/>
            <text><![CDATA[Name:]]></text>
        </staticText>
        <staticText>
            <reportElement x="170" y="60" width="100" height="20" uuid="ca13b09f-2e1c-429f-881c-01ca6dad8c4a"/>
            <text><![CDATA[Costs]]></text>
        </staticText>
    </band>
</columnHeader>
<detail>
    <band height="125" splitType="Stretch">
        <textField>
            <reportElement x="0" y="0" width="160" height="30" uuid="b2d51e70-2846-4e2b-8d8a-a8e77c909606"/>
            <textFieldExpression><![CDATA[$F{name}]]></textFieldExpression>
        </textField>
        <textField>
            <reportElement x="170" y="0" width="100" height="30" uuid="53a43c1e-7b57-4416-b558-030ccff9c23b"/>
            <textFieldExpression><![CDATA[$F{cost}]]></textFieldExpression>
        </textField>
    </band>
</detail>
</jasperReport>

Когда я использую Jaspersoft Studio, я вижу eventCostObjectList как список, а не как отдельные объекты EventCostEntity.

Что мне не хватает в моем подотчете для использования отдельных объектов в списке? вот мой подотчет

    <?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="eventDetail2_Costs" pageWidth="612" pageHeight="792" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="e2be79ab-b7a6-40e0-9024-b0c0bc3fa26f">
<property name="com.jaspersoft.studio.data.defaultdataadapter" value="EventCostEntity_DATAADAPTER.xml"/>
<style name="Table_TH" mode="Opaque" backcolor="#F0F8FF">
    <box>
        <pen lineWidth="0.5" lineColor="#000000"/>
        <topPen lineWidth="0.5" lineColor="#000000"/>
        <leftPen lineWidth="0.5" lineColor="#000000"/>
        <bottomPen lineWidth="0.5" lineColor="#000000"/>
        <rightPen lineWidth="0.5" lineColor="#000000"/>
    </box>
</style>
<style name="Table_CH" mode="Opaque" backcolor="#BFE1FF">
    <box>
        <pen lineWidth="0.5" lineColor="#000000"/>
        <topPen lineWidth="0.5" lineColor="#000000"/>
        <leftPen lineWidth="0.5" lineColor="#000000"/>
        <bottomPen lineWidth="0.5" lineColor="#000000"/>
        <rightPen lineWidth="0.5" lineColor="#000000"/>
    </box>
</style>
<style name="Table_TD" mode="Opaque" backcolor="#FFFFFF">
    <box>
        <pen lineWidth="0.5" lineColor="#000000"/>
        <topPen lineWidth="0.5" lineColor="#000000"/>
        <leftPen lineWidth="0.5" lineColor="#000000"/>
        <bottomPen lineWidth="0.5" lineColor="#000000"/>
        <rightPen lineWidth="0.5" lineColor="#000000"/>
    </box>
</style>
<style name="Table 1_TH" mode="Opaque" backcolor="#F0F8FF">
    <box>
        <pen lineWidth="0.5" lineColor="#000000"/>
        <topPen lineWidth="0.5" lineColor="#000000"/>
        <leftPen lineWidth="0.5" lineColor="#000000"/>
        <bottomPen lineWidth="0.5" lineColor="#000000"/>
        <rightPen lineWidth="0.5" lineColor="#000000"/>
    </box>
</style>
<style name="Table 1_CH" mode="Opaque" backcolor="#BFE1FF">
    <box>
        <pen lineWidth="0.5" lineColor="#000000"/>
        <topPen lineWidth="0.5" lineColor="#000000"/>
        <leftPen lineWidth="0.5" lineColor="#000000"/>
        <bottomPen lineWidth="0.5" lineColor="#000000"/>
        <rightPen lineWidth="0.5" lineColor="#000000"/>
    </box>
</style>
<style name="Table 1_TD" mode="Opaque" backcolor="#FFFFFF">
    <box>
        <pen lineWidth="0.5" lineColor="#000000"/>
        <topPen lineWidth="0.5" lineColor="#000000"/>
        <leftPen lineWidth="0.5" lineColor="#000000"/>
        <bottomPen lineWidth="0.5" lineColor="#000000"/>
        <rightPen lineWidth="0.5" lineColor="#000000"/>
    </box>
</style>
<subDataset name="Dataset1" uuid="f42721f5-97f6-4d0b-8769-15899abedf7d">
    <property name="com.jaspersoft.studio.data.defaultdataadapter" value="One Empty Record"/>
    <queryString>
        <![CDATA[]]>
    </queryString>
    <field name="name" class="java.lang.String">
        <fieldDescription><![CDATA[]]></fieldDescription>
    </field>
    <field name="cost" class="java.math.BigDecimal">
        <fieldDescription><![CDATA[]]></fieldDescription>
    </field>
</subDataset>
<queryString>
    <![CDATA[]]>
</queryString>
<background>
    <band splitType="Stretch"/>
</background>
<title>
    <band splitType="Stretch"/>
</title>
<pageHeader>
    <band splitType="Stretch"/>
</pageHeader>
<columnHeader>
    <band splitType="Stretch"/>
</columnHeader>
<detail>
    <band height="319" splitType="Stretch">
        <componentElement>
            <reportElement x="116" y="119" width="200" height="200" uuid="7ad39011-7d7e-4477-9b47-b243c2a97795">
                <property name="com.jaspersoft.studio.layout" value="com.jaspersoft.studio.editor.layout.VerticalRowLayout"/>
            </reportElement>
            <jr:table xmlns:jr="http://jasperreports.sourceforge.net/jasperreports/components" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/components http://jasperreports.sourceforge.net/xsd/components.xsd">
                <datasetRun subDataset="Dataset1" uuid="5061a7f7-6c91-406c-9186-ddb3394facf6">
                    <dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.JREmptyDataSource()]]></dataSourceExpression>
                </datasetRun>
                <jr:column width="100" uuid="07dae0b1-2020-4a45-a1c1-eeb849dad2c3">
                    <jr:tableHeader style="Table 1_TH" height="30"/>
                    <jr:columnHeader style="Table 1_CH" height="30">
                        <staticText>
                            <reportElement x="0" y="0" width="100" height="30" uuid="4c5989e0-cebe-48fa-b68b-1019d6595ec4"/>
                            <text><![CDATA[name]]></text>
                        </staticText>
                    </jr:columnHeader>
                    <jr:detailCell style="Table 1_TD" height="30">
                        <textField>
                            <reportElement x="0" y="0" width="100" height="30" uuid="46947bba-f80b-4bf1-bbc3-1ea3fafec171"/>
                            <textFieldExpression><![CDATA[$F{name}]]></textFieldExpression>
                        </textField>
                    </jr:detailCell>
                </jr:column>
                <jr:column width="100" uuid="be2b6e8c-5962-4629-b557-bfe58e0daff8">
                    <jr:tableHeader style="Table 1_TH" height="30"/>
                    <jr:columnHeader style="Table 1_CH" height="30">
                        <staticText>
                            <reportElement x="0" y="0" width="100" height="30" uuid="391f3ed4-8369-4b5f-ab69-83b46d4ec7d1"/>
                            <text><![CDATA[cost]]></text>
                        </staticText>
                    </jr:columnHeader>
                    <jr:detailCell style="Table 1_TD" height="30">
                        <textField>
                            <reportElement x="0" y="0" width="100" height="30" uuid="60b796f7-3d06-442a-8a87-a25ef027dc48"/>
                            <textFieldExpression><![CDATA[$F{cost}]]></textFieldExpression>
                        </textField>
                    </jr:detailCell>
                </jr:column>
            </jr:table>
        </componentElement>
    </band>
</detail>
<columnFooter>
    <band splitType="Stretch"/>
</columnFooter>
<pageFooter>
    <band splitType="Stretch"/>
</pageFooter>
<summary>
    <band splitType="Stretch"/>
</summary>

`


person snafua    schedule 05.05.2016    source источник
comment
Попробуйте использовать таблицу в своем подотчете. Каждая строка в таблице будет представлять один объект EventCostEntity. Таким образом было бы легко отобразить все сущности стоимости события.   -  person PeaceIsPearl    schedule 05.05.2016
comment
Спасибо, это то, что я искал, однако у меня возникла проблема с получением набора данных в таблице, чтобы найти столбцы из EventCostEntity. Какие-либо предложения   -  person snafua    schedule 06.05.2016
comment
Извините, но не могли бы вы пояснить свой вопрос.   -  person PeaceIsPearl    schedule 06.05.2016
comment
Извините за непонятность, когда я добавляю таблицу, в которой он запрашивает адаптер данных, я предоставляю статический адаптер, который возвращает EventCostEntity, однако источник данных сообщает, что этот адаптер не предоставляет никаких средств для извлечения полей, поэтому я не получаю никаких столбцов в моем наборе данных. Что мне нужно сделать, чтобы получить столбцы для таблицы?   -  person snafua    schedule 06.05.2016
comment
Пожалуйста, поделитесь своим кодом и трассировкой ошибки   -  person PeaceIsPearl    schedule 06.05.2016
comment
Я создаю новый отчет с заголовком столбца и подробностями. Ошибка отображается только в мастере таблиц, где вы выбираете источник данных для таблицы, я проверил источник данных, и все прошло успешно. Я использую Jasper Studio Standalone версии 6.1.1.   -  person snafua    schedule 07.05.2016
comment
Вам не нужен источник данных. Оставьте это пустым   -  person PeaceIsPearl    schedule 07.05.2016
comment
Сначала мастер запрашивает набор данных, который я могу выбрать пустой. Затем мастер запрашивает соединение или источник данных, который я также могу выбрать пустой. У меня по-прежнему нет столбцов на выбор. ТАК Я потерялся относительно того, как получить столбец в таблице?   -  person snafua    schedule 07.05.2016
comment
Я добавил к этому вопросу дополнительный отчет с таблицей и двумя столбцами, которые я вручную создал с помощью набора данных. Я никогда не мог заставить JS извлекать поля с помощью мастера таблиц. Поля печатаются пустыми. Я не знаю, как подключить eventCostObjectList к отчету. Спасибо за помощь в этом вопросе.   -  person snafua    schedule 08.05.2016
comment
@snafua Как передать ArrayList в JasperReports? - Вы проверяли этот способ? Другой пост: JRBeanCollectionDataSource: как показать данные из java.util.List из JavaBean?   -  person Alex K    schedule 11.05.2016