我正在尝试了解jasper报告的工作方式,但我发现语法有点难以掌握。
reportelement- key究竟是指什么?框架是一个纯粹的视觉组件吗?
<frame>
<reportElement key="frame-6" mode="Opaque" x="0" y="36" width="534" height="36" backcolor="#CCCCCC"/>
<box>
<topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="0.0" lineColor="#000000"/>
<rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
</box>
</frame>
在下文中,F和v表示什么,更重要的是它们在哪里定义?
<textFieldExpression class="java.math.BigDecimal"><![CDATA[$V{amountTotal}]]></textFieldExpression>
<variableExpression><![CDATA[new BigDecimal($F{amount percentage})</variableExpression>
答案 0 :(得分:3)
关于框架:
来自IReport Ultimate Guide的报价:
框架是可以包含其他元素的元素 在他们周围画一个边框。
..
由于框架是其他的容器 元素,在文档大纲视图中,框架表示为a 包含其他元素的节点。
..
一个帧可以包含其他帧,和 所以递归。要向框架添加元素,只需拖动新元素即可 框架内调色板中的元素。或者你可以使用 大纲视图和从一个带拖动元素进入框架等 上。元素的位置始终相对于容器 位置。如果容器是一个带,则元素位置将是 相对于乐队的顶部和左边距。如果是容器 (或元素父)是一个框架,元素坐标将是 相对于框架的左上角。由于元素被拖拽 从容器到另一个容器不会改变其顶部/左侧属性, 将元素从容器移动到另一个容器时,它的位置是 根据新的集装箱位置重新计算。 使用框架绘制一组边框的优点 关于使用简单矩形元素的元素是:
*移动框架时,框架中包含的所有元素都将显示 一致行动。
*使用矩形重叠某些元素时, 矩形内的元素不会被视为重叠 (相对于框架),因此在HTML中导出时不会出现问题(不支持重叠元素)。
*最后,框架将根据其自动拉伸 content,以及其元素的元素位置类型属性 参考框架本身,而不是乐队,使设计有点 更容易管理。 在HTML中(不支持重叠元素)。
关于reportElement
JasperReports Ultimate Guide的引用:
报告元素属性
当您向其中一个报表部分添加报表元素时,您必须这样做 指定该元素在该特定元素中的相对位置 部分及其大小,以及其他一般报告元素 颜色,透明度,拉伸行为等属性。
所有类型的报表元素共有的属性是 在标签中分组,该标签出现在声明中 所有报告要素。
..
ELEMENT KEY
与变量和参数不同,报表元素不是 需要有一个名字,因为通常你不需要获得 报表模板中的任何单个元素。但是,在某些方面 在这种情况下,能够找到一个元素来改变它的一个是有用的 使用报告模板之前的属性。可能就是这种情况 一个应用程序,其中报告中的某些元素的颜色 模板需要根据用户输入进行更改。找到报告 需要改变颜色的元素,调用者程序 可以使用band级别提供的getElementByKey(String)方法。 键值必须与report元素相关联,并且必须是 在整个频段内唯一的查找工作。钥匙 属性用作提供的示例 / demo / samples / alterdesign sample。
关于字段($ F)和变量($ V):
$F{fieldName}
是对名称为fieldName
的字段的引用。这些字段包含data source
。$V{variableName}
是对名称为variableName
的报告变量的引用。变量具有表达式,可用于不同的计算。