我有基于csv数据源的jrxml文件。csv文件中只有一列包含json字符串。
考虑以下示例:
ID NAME TAG_AND_VALUES 1 test1 { "caseID" : "1200", "CaseNumber" : 12 } 2 test2 { "caseID" : "1201" } 3 test3 { "caseID" : "1202", "CaseNumber" : 14 } 4 test4 { "caseID" : "1203", "CaseNumber" : 15 } 5 test5 { "CaseNumber" : 16, "caseID" : "1204", } 6 test6 { "caseID" : "1205", }
请注意,CaseID始终存在,但不能保证TAG_AND_VALUES的顺序,因为可以动态添加或增长TAG_AND_VALUE。
我想从每个TAG_AND_VALUES中读取每个caseID的值。
您可以使用内置于JasperReports中的JSON数据源做一些事情。请参阅下面的JRXML片段,这些片段使用带有子数据集的列表组件从JSON字符串中读取值:
<subDataset name="TagAndValues">
<field name="caseID" class="java.lang.String"/>
<field name="CaseNumber" class="java.lang.String"/>
</subDataset>
....
<componentElement>
<reportElement x="200" y="0" width="200" height="20" uuid="a6cc346e-d517-431e-8860-d81cc4e1145f"/>
<c:list xmlns:c="http://jasperreports.sourceforge.net/jasperreports/components" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/components http://jasperreports.sourceforge.net/xsd/components.xsd" printOrder="Vertical">
<datasetRun subDataset="TagAndValues" uuid="b8180534-701e-4f9a-ad5f-785d1a5fb74b">
<dataSourceExpression>new net.sf.jasperreports.engine.data.JsonDataSource(new java.io.ByteArrayInputStream($F{TAG_AND_VALUES}.getBytes()))</dataSourceExpression>
</datasetRun>
<c:listContents height="20">
<frame>
<reportElement x="0" y="0" width="200" height="20" uuid="28b3ebcb-1bd3-422d-9468-54216206315d"/>
<textField>
<reportElement x="0" y="0" width="100" height="20" uuid="2fba17f5-4547-4f51-a12f-815c7f0589ca"/>
<textFieldExpression><![CDATA[$F{caseID}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="100" y="0" width="100" height="20" uuid="2fba17f5-4547-4f51-a12f-815c7f0589ca"/>
<textFieldExpression><![CDATA[$F{CaseNumber}]]></textFieldExpression>
</textField>
</frame>
</c:listContents>
</c:list>
</componentElement>
此方法存在两个问题:
Jasper报表在从数据库中获取值时是如何工作的。我知道每一行都会重复这个细节带,但我的问题是: 为什么我问这些问题是,我想做一些操作通过所有行的基础上,有一个元素在我的细节带,应该打印或不在每个带。 示例:假设我的DB总是返回两行,一行用于public和一行用于private,并且我必须比较其中的一列,将name写成overall_score,如下所示: 我在detail band上有一个lin
对于Jasper报告4.5 如何访问条形图标签表达式?我尝试过,我们可以通过访问label。但是当这个生成器执行时,它没有我们在jrxml文件中为 字段设置的公式,例如[barvalue$colorcode$]。我发现 是在 类中执行的,该类是JasperReport类。
编码和解码简单数据类型 # json_simple_types.py import json data = [{'a': 'A', 'b': (2, 4), 'c': 3.0}] print('DATA:', repr(data)) data_string = json.dumps(data) print('JSON:', data_string) # json_simple_types_d
我有以下问题。我有一个Writer类,它通过GSON将我创建的所有对象写入JSON文件。输出如下所示: eventID是一个序列化的整数,每次创建新的obj时都使用AtomicInteger创建。 线程“main”com.google.gson.jsonSyntaxException:java.lang.IllegalStateException:预期为BEGIN_ARRAY但在第1行第1列路径$
Jasper 是在 Raspberry Pi 上开发的自动化的语音控制私人助理工具。 用户可以使用 Jasper 语音命令来完成各种类型的任务,比如读取新闻,读取网络社交的通知,控制家电等等。Jasper 会进行持续监听,所以用户可以在几米外进行声音控制。