jasper-reports - 使用 ArrayList 创建子报表,其中包含 ArrayLists 作为 DataSource(JasperReports 社区)
问题描述
我正在尝试创建一个以 ArrayList 作为数据源的子报表,其中包含其他 ArrayList,要明确这是 ArrayList:
public List<List<Detail>> detail = new ArrayList<List<Detail>>();
收到的内容示例:
[
[Detail[code=1,name="Duck"], Detail[code=1,name="Jacky"]],
[Detail[code=2,name="Morgan"], Detail[code=2,name="Jackson"]]
]
然后我将它作为 JavaBean 发送到 JasperReports 并像这样接收它
<field name="detail" class="java.util.ArrayList">
<fieldDescription><![CDATA[detail]]></fieldDescription>
</field>
收到它后,我将它作为数据源表达式发送到这样的子报表
new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{detail})
问题是......我不知道如何检索每个位置的元素,因为它们没有区分它们的键
在子报告中如何访问每个位置的内容?当尝试接收 ArrayList 作为名称详细信息时,我在 java servlet 中收到此错误,因为每个位置都有对象它我无法创建具有内容名称的字段,创建它作为类的名称给了我这个错误
Caused by: java.lang.NoSuchMethodException: Unknown property 'detail' on class 'class java.util.ArrayList'
解决方案
推荐阅读
- selenium - 测试用例总是失败,因为找不到元素定位器
- plot - Seaborn swarmplot 和 pointplot 闪避对齐
- c# - XmlReader 异步 VS Sinc
- javascript - 如何从 Wiki API 子类别中获取纯文本
- angular - 带有子项的路径中的默认路径
- excel - Excel 列到数组列表
- reverse-engineering - 弄清楚数字如何以十六进制形式表示
- android-layout - 有没有一种好方法可以根据您单击按钮的左半部分还是右半部分来使 Android 中的按钮执行不同的操作?
- swift - 集合视图单元格中的集合视图适合内容
- javascript - 将页面上的多个 html 表格保存为 CSV