当前位置: 首页 > news >正文

JasperReports报表组15

组在JasperReports的协助组织对报告的数据以逻辑方式。报告组代表连续记录的数据源中有一些共同点,比如某个报表字段的值的序列。报告组由<group>元素定义。一个报表可以有任意数量的组。一旦声明,群体可以在整个报告中提到的。

报告组有三个要素:

  • Group expression: 这表示必须改变,以启动一个新的数据组中的数据。

  • Group header section: 帮助位置标签在分组数据的开始。

  • Group footer section: : 帮助位置标签在分组数据的末尾。

在截至于若该组表达变化,一组发生断裂和相应的<groupFooter>和<groupHeader>部分的值插入到生成的文档中报告充填时数据源的迭代。

 报表组的机制不执行由数据源所提供的资料的任何排序。数据分组按预期工作,只有当数据源中的记录按照报告中使用的组表达式已经下令。

属性组

<group>元素包含属性,使我们能够控制分组的数据是如何布局。属性概括于下表:

属性描述
name这是强制性的。它通过名称引用该组中的报表表达式。它遵循相同的命名约定我们,我们提到的报告参数,字段和报表变量。它可以在其他JRXML属性被用于当想引用一个特定的报告组。
isStartNewColumn当设置为true时,每个数据组将开始一个新的列。默认值是false
isStartNewPage当设置为true时,每个数据组将开始一个新的页面上。默认值是false
isResetPageNumber当设置为true,该报告页码将每一个新组开始时被重置。默认值是false
isReprintHeaderOnEachPage当设置为true时,组头会被重印每一页上。默认值是false
minHeightToStartNewPage定义在列的底部,以便将组头当前列所需要的垂直空间最小量。被指定在报告单位的数量。
footerPosition呈现在页面上的组页脚的位置,以及其有关的报告的部分它后面的行为。它的值可以是: NormalStackAtBottomForceAtBottomCollateAtBottom.默认值是 Normal
keepTogether当设置为true,将阻止该集团从分割它第一次突破的尝试

例子

让我们添加一个组(CountryGroup)现有的报告模板(章报表设计)。每个国家的次数进行计数,计数显示为组页脚。在组头中每个记录的计数前缀。修订后的报告模板(jasper_report_template.jrxml)如下。将其保存到 C:\tools\jasperreports-5.0.1\test 目录:

<?xml version="1.0"?> <!DOCTYPE jasperReport PUBLIC "//JasperReports//DTD Report Design//EN" "http://jasperreports.sourceforge.net/dtds/jasperreport.dtd"> <jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="jasper_report_template" pageWidth="595" pageHeight="842" columnWidth="515" leftMargin="40" rightMargin="40" topMargin="50" bottomMargin="50"> <parameter name="ReportTitle" class="java.lang.String"/> <parameter name="Author" class="java.lang.String"/> <queryString> <![CDATA[]]> </queryString> <field name="country" class="java.lang.String"> <fieldDescription><![CDATA[country]]></fieldDescription> </field> <field name="name" class="java.lang.String"> <fieldDescription><![CDATA[name]]></fieldDescription> </field> <sortField name="country" order="Descending"/> <sortField name="name"/> <variable name="CountryNumber" class="java.lang.Integer" incrementType="Group" incrementGroup="CountryGroup" calculation="Count"> <variableExpression><![CDATA[Boolean.TRUE]]></variableExpression> </variable> <group name="CountryGroup" minHeightToStartNewPage="60"> <groupExpression><![CDATA[$F{country}]]></groupExpression> <groupHeader> <band height="20"> <textField evaluationTime="Group" evaluationGroup="CountryGroup" bookmarkLevel="1"> <reportElement mode="Opaque" x="0" y="5" width="515" height="15" backcolor="#C0C0C0"/> <box leftPadding="10"> <bottomPen lineWidth="1.0"/> </box> 

转载于:https://www.cnblogs.com/mengyuxin/p/4663837.html

相关文章:

  • BZOJ 1264: [AHOI2006]基因匹配Match( LCS )
  • 用Linux命令对两个文件进行连接操作
  • 一、小按钮和下面板---调试面板
  • memcached全面剖析–5. memcached的应用和兼容程序
  • 常见浏览器的兼容问题
  • 如何解决“不能打开数据库,用户NT AUTHORITY\NETWORK SERVICE登录失败”的错误呢?...
  • 基于vitamio的网络电视直播源码
  • Unity3D 导出apk 在真机调试时, 使用光贴图的模型丢失材质的BUG
  • 将C盘一个文本文件复制到D盘。
  • UVALive 6322 最大匹配...
  • 模板方法模式
  • Android Studio 简单介绍和使用问题小结
  • Redis内存存储结构分析
  • 数组删除空缺时的多余逗号
  • 图片验证
  • 【5+】跨webview多页面 触发事件(二)
  • 【译】理解JavaScript:new 关键字
  • centos安装java运行环境jdk+tomcat
  • gitlab-ci配置详解(一)
  • Java 多线程编程之:notify 和 wait 用法
  • PHP那些事儿
  • Theano - 导数
  • uva 10370 Above Average
  • vue从创建到完整的饿了么(18)购物车详细信息的展示与删除
  • 官方解决所有 npm 全局安装权限问题
  • 记一次删除Git记录中的大文件的过程
  • 如何进阶一名有竞争力的程序员?
  • 学习JavaScript数据结构与算法 — 树
  • 学习使用ExpressJS 4.0中的新Router
  • 用 vue 组件自定义 v-model, 实现一个 Tab 组件。
  • 与 ConTeXt MkIV 官方文档的接驳
  • 在Unity中实现一个简单的消息管理器
  • 终端用户监控:真实用户监控还是模拟监控?
  • 国内唯一,阿里云入选全球区块链云服务报告,领先AWS、Google ...
  • ​LeetCode解法汇总2304. 网格中的最小路径代价
  • ​Spring Boot 分片上传文件
  • ​一帧图像的Android之旅 :应用的首个绘制请求
  • #if和#ifdef区别
  • #Lua:Lua调用C++生成的DLL库
  • (1)无线电失控保护(二)
  • (1)虚拟机的安装与使用,linux系统安装
  • (2)(2.4) TerraRanger Tower/Tower EVO(360度)
  • (2009.11版)《网络管理员考试 考前冲刺预测卷及考点解析》复习重点
  • (2015)JS ES6 必知的十个 特性
  • (ctrl.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MDd_DynamicDebug”不匹配值“
  • (Matlab)使用竞争神经网络实现数据聚类
  • (定时器/计数器)中断系统(详解与使用)
  • (附源码)springboot学生选课系统 毕业设计 612555
  • (九)One-Wire总线-DS18B20
  • (四)JPA - JQPL 实现增删改查
  • (转)母版页和相对路径
  • (转)用.Net的File控件上传文件的解决方案
  • (转)重识new
  • (转载)Google Chrome调试JS
  • *1 计算机基础和操作系统基础及几大协议