Jasper报告语法报告元素和框架

时间:2011-08-30 20:40:11

标签: java xml jasper-reports frame report

我正在尝试了解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>

1 个答案:

答案 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的报告变量的引用。变量具有表达式,可用于不同的计算。