Rumah  >  Artikel  >  Java  >  Bagaimana untuk Memaparkan Data Senarai JavaBean dalam Jalur Butiran Laporan Jasper?

Bagaimana untuk Memaparkan Data Senarai JavaBean dalam Jalur Butiran Laporan Jasper?

Barbara Streisand
Barbara Streisandasal
2024-11-23 12:30:14120semak imbas

How to Display a JavaBean's List Data in a Jasper Report's Detail Band?

JRBeanCollectionDataSource: Memaparkan Data daripada java.util.List dalam JavaBeans

Pengenalan

JavaBeans selalunya mengandungi koleksi data. JRBeanCollectionDataSource membolehkan anda memaparkan data daripada koleksi ini dalam pelbagai cara.

Soalan

Bagaimana saya boleh memaparkan data daripada java.util.List yang disimpan dalam JavaBean dalam jalur Detail sebuah Laporan Jasper?

Jawapan

Kunci Pertimbangan untuk Penyelesaian:

  • Gunakan ungkapan _THIS untuk mengakses objek JavaBean.
  • Gunakan komponen Senarai (jr:list) dalam jalur Detail.

Pelaksanaan

Jawa Kelas:

// JavaBean with a list of strings
public class BeanWithList {
  private List<String> cities;
  private Integer id;

  // Getter methods
}

JRXML:

<jasperReport>
  <subDataset name="dataset1">
    <field name="city" class="java.lang.String">
      <fieldDescription><![CDATA[_THIS]]></fieldDescription>
    </field>
  </subDataset>
  <field name="id" class="java.lang.Integer"/>
  <field name="cities" class="java.util.Collection"/>

  <title>
    <staticText>Bean with List sample</staticText>
  </title>

  <detail>
    <textField>
      <reportElement x="0" y="0" width="100" height="20"/>
      <textFieldExpression><![CDATA[$F{id}]]></textFieldExpression>
    </textField>
    <componentElement>
      <reportElement x="100" y="0" width="400" height="20"/>
      <jr:list>
        <datasetRun subDataset="dataset1">
          <dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{cities})]]></dataSourceExpression>
        </datasetRun>
        <jr:listContents height="20" width="400">
          <textField>
            <reportElement x="0" y="0" width="100" height="20"/>
            <textFieldExpression><![CDATA[$F{city}]]></textFieldExpression>
          </textField>
        </jr:listContents>
      </jr:list>
    </componentElement>
  </detail>
</jasperReport>

Hasil

Pendekatan ini akan menghasilkan laporan yang memaparkan medan id bagi JavaBean, serta kandungan elemen Senarai dalam komponen sublaporan dalam jalur Detail.

Atas ialah kandungan terperinci Bagaimana untuk Memaparkan Data Senarai JavaBean dalam Jalur Butiran Laporan Jasper?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn