我试图理解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>发布于 2011-09-01 10:18:52
关于框架的:
IReport终极指南的引文:
框架是一个元素,它可以包含其他元素并可选择地在它们周围绘制边框.
由于框架是其他元素的容器,因此在文档大纲视图中,框架表示为包含其他元素的节点.
一个框架可以递归地包含其他帧,等等。要将元素添加到框架中,只需从框架内的调色板中拖动新元素即可。或者,您可以使用大纲视图,并将元素从带拖到框架中,以此类推。元素的位置总是相对于容器位置。如果容器是带,则元素位置将相对于带的顶部和左侧边缘。如果容器(或元素父)是一个框架,元素坐标将相对于框架的左上角。由于从容器拖动到另一个容器的元素不会更改其顶部/左侧属性,因此当将元素从容器移动到另一个元素时,将根据新的容器位置重新计算其位置。相对于使用简单的矩形元素,使用框架在一组元素周围绘制边框的优点是:*当您移动一个框架时,框架中包含的所有元素都将一致移动。*当使用矩形重叠某些元素时,矩形内的元素不会被视为重叠(相对于框架),因此在导出HTML (不支持重叠元素)时不会出现问题。*最后,框架将自动伸展到其内容,其元素的元素位置类型属性将引用框架本身,而不是带,使设计更容易管理。在HTML中(不支持重叠的元素)。
关于reportElement
JasperReports终极指南的引文:
报表元素属性
当向报表部分之一添加报表元素时,必须指定该元素在该特定部分中的相对位置及其大小,以及其他通用报表元素属性,如颜色、透明度、拉伸行为等。所有类型的报表元素共有的属性在标记中分组,标记出现在所有报表元素的声明中.
元素键
与变量和参数不同,报表元素不需要有名称,因为通常不需要在报表模板中获取任何单独的元素。但是,在某些情况下,在使用报表模板之前能够找到一个元素来更改其属性是非常有用的。在报表模板中的某些元素的颜色需要根据用户输入来更改的应用程序中,可能会出现这种情况。要找到需要更改颜色的报表元素,调用程序可以使用带级可用的getElementByKey(String)方法。键值必须与报表元素相关联,并且在查找工作的整个波段中必须是唯一的。在提供的/演示/示例/可变设计示例中使用key属性作为示例。
关于字段的 ($F)和变量($V):
$F{fieldName}是对名为fieldName的字段的引用。字段包含来自data source.$V{variableName}的数据,是对带有名称variableName的报表变量的引用。该变量有表达式,可用于不同的calculations.。
https://stackoverflow.com/questions/7249541
复制相似问题