当前位置: 首页 > 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内存存储结构分析
  • 数组删除空缺时的多余逗号
  • 图片验证
  • 【css3】浏览器内核及其兼容性
  • gitlab-ci配置详解(一)
  • JavaScript学习总结——原型
  • JS实现简单的MVC模式开发小游戏
  • js学习笔记
  • Kibana配置logstash,报表一体化
  • Transformer-XL: Unleashing the Potential of Attention Models
  • vagrant 添加本地 box 安装 laravel homestead
  • WordPress 获取当前文章下的所有附件/获取指定ID文章的附件(图片、文件、视频)...
  • 不用申请服务号就可以开发微信支付/支付宝/QQ钱包支付!附:直接可用的代码+demo...
  • 第13期 DApp 榜单 :来,吃我这波安利
  • 扑朔迷离的属性和特性【彻底弄清】
  • 通过git安装npm私有模块
  • 问:在指定的JSON数据中(最外层是数组)根据指定条件拿到匹配到的结果
  • - 转 Ext2.0 form使用实例
  • ​插件化DPI在商用WIFI中的价值
  • (03)光刻——半导体电路的绘制
  • (5)STL算法之复制
  • (env: Windows,mp,1.06.2308310; lib: 3.2.4) uniapp微信小程序
  • (草履虫都可以看懂的)PyQt子窗口向主窗口传递参数,主窗口接收子窗口信号、参数。
  • (附源码)springboot教学评价 毕业设计 641310
  • (附源码)ssm高校升本考试管理系统 毕业设计 201631
  • (学习日记)2024.04.10:UCOSIII第三十八节:事件实验
  • *++p:p先自+,然后*p,最终为3 ++*p:先*p,即arr[0]=1,然后再++,最终为2 *p++:值为arr[0],即1,该语句执行完毕后,p指向arr[1]
  • .NET “底层”异步编程模式——异步编程模型(Asynchronous Programming Model,APM)...
  • .NET 5.0正式发布,有什么功能特性(翻译)
  • .NET 8 编写 LiteDB vs SQLite 数据库 CRUD 接口性能测试(准备篇)
  • .NET delegate 委托 、 Event 事件,接口回调
  • []利用定点式具实现:文件读取,完成不同进制之间的
  • []新浪博客如何插入代码(其他博客应该也可以)
  • [20171113]修改表结构删除列相关问题4.txt
  • [Android] Upload package to device fails #2720
  • [Android]Android开发入门之HelloWorld
  • [Bugku]密码???[writeup]
  • [BZOJ4337][BJOI2015]树的同构(树的最小表示法)
  • [C\C++]读入优化【技巧】
  • [GDOUCTF 2023]<ez_ze> SSTI 过滤数字 大括号{等
  • [GN] Vue3.2 快速上手 ---- 核心语法2
  • [HackMyVM]靶场 Wild
  • [HUBUCTF 2022 新生赛]