> Java > java지도 시간 > JasperReports\' 세부 정보 밴드에 JavaBean\ 목록을 표시하는 방법은 무엇입니까?

JasperReports\' 세부 정보 밴드에 JavaBean\ 목록을 표시하는 방법은 무엇입니까?

Linda Hamilton
풀어 주다: 2024-11-25 22:11:12
원래의
204명이 탐색했습니다.

How to Display a JavaBean's List in JasperReports' Detail Band?

JavaBeanjava.util.List가 포함되어 있음: JasperReports에 표시

문제

A JavaBean에는 java.util.List. JasperReports 문서의 Detail 밴드에 이 목록의 데이터를 어떻게 표시할 수 있나요?

해결책

  1. _THIS 표현식 사용: _JavaBean에 액세스하기 위한 THIS 표현식
  2. jr:list 구성 요소 적용: Detail 밴드에 jr:list 구성 요소를 통합하여 목록 항목을 반복합니다.

작업 샘플 코드

// Java source to generate the report
...

// DataSource using JRBeanCollectionDataSource
private static JRDataSource getDataSource() {
    Collection<BeanWithList> coll = ...;
    return new JRBeanCollectionDataSource(coll);
}

// JavaBean
public class BeanWithList {
    private List<String> cities;
    // ...

    // Ensure a public getter for field extraction
    public List<String> getCities() {
        return this.cities;
    }
}

// jrxml file
...

// Subdataset for iterating through the list
<subDataset name="dataset1">
    <field name="city" class="java.lang.String">
        <fieldDescription><![CDATA[_THIS]]></fieldDescription>
    </field>
</subDataset>

// Detail band with jr:list component
<detail>
    ...
    <componentElement>
        <!-- jr:list component -->
        <jr:list ...>
            <datasetRun subDataset="dataset1">
                <!-- DataSource expression using JRBeanCollectionDataSource -->
                <dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{cities})]]></dataSourceExpression>
            </datasetRun>
            <jr:listContents ...>
                <textField ...>
                    <textFieldExpression><![CDATA[$F{city}]]></textFieldExpression>
                </textField>
            </jr:listContents>
        </jr:list>
    </componentElement>
    ...
</detail>
...
로그인 후 복사

결과

이 구성은 세부정보 밴드 내 목록의 데이터를 표시하는 보고서를 생성합니다.

추가 정보

  • 이에 대한 기타 관련 질문 주제:

    • "iReport의 다른 목록에 포함된 문자열 목록을 어떻게 인쇄합니까?"
    • "기본 유형 개체 목록을 하위 보고서의 데이터 소스로 전달"

위 내용은 JasperReports\' 세부 정보 밴드에 JavaBean\ 목록을 표시하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿