报表

报表性能优化方案之报表服务器优化基础讲解

◇◆丶佛笑我妖孽 提交于 2019-12-04 04:07:04
内存 JVM堆栈内存是决定应用服务器性能的关键指标,一般服务器默认的内存配置都比较小,在较大型的应用项目中,这点内存是不够的,因此需要进行查看与修改Web服务器内存大小,接下来就介绍服务器内存查看的方法以及不同服务器内存的修改方式。 各应用服务器的内存配置方法不尽相同,如下列出了常用服务器的JVM参数(-Xms,-Xmx)配置方法。 JVM参数定义: - Xms: 初始化内存大小 - Xmx: 可以使用的最大内存 以下示例工具:报表开发工具FineReport 服务器内存的查看 如果您想要查看应用服务器的内存配置情况,可以启动Web服务器,进入平台系统,URL地址为: http://localhost:8080/WebReport/ReportServer?op=fr_platform ,选择 管理系统>系统监控>系统状态>内存使用情况 ,即可查看到当前web服务器的内存使用情况,如下图: 注:如果用户购买了数据决策系统,那么URL地址可以输入 http://localhost:8075/WebReport/ReportServer?op=fs 其中: 空闲内存:204M是指可用剩余内存为:204M。 所有内存:247M是指当前调用的内存为:247M。 最大内存:494M是指可调用的最大内存为:494M。 FineReport 内存机制 1. 描述

【译】JasperReports Library使用指南

℡╲_俬逩灬. 提交于 2019-12-04 03:42:19
简介(Introduction) Jasperreports是一个强大的开源报表工具,它能够传送丰富的内容到屏幕上、打印机或者转换为PDF、HTML、XLS、RTF、ODT、CSV、TXT和XML文件等多种格式的文件。Jasperreports完全由Java编写,它可以被用于各种各样的Java程序来动态的生成内容。它主要的目的就是帮助以一种简单且灵活的方式生成基于页面的、可打印的文档。 API 概览(API Overview) Jasperreports会整理从JRXML文件(报表设计文件,又称为报表模版文件,后缀为*.jrxml)中定义的数据源中取出的数据。为了给一个报表填充数据,报表设计文件必须首先经过编译。 通过 JasperCompileManager 类暴露的compileReport()方法来编译报表设计文件。通过编译,报表设计文件(*.jrxml)将被加载到一个报表设计(jasper-design)对象中,然后这个对象将被序列化到磁盘上(由 JasperReport 类完成,生成的文件为*.jasper)。这个序列化的对象将在程序需要向其填充数据的时候被使用到。事实上,编译一个*.jrxml文件意味着将要编译定义在*.jrxml文件中定义的所有Java表达式,在编译时将执行一系列的验证过程,用于检查*.jrxml文件的一致性

Web报表工具JS开发之日期校验

倖福魔咒の 提交于 2019-12-03 12:02:24
在报表开发过程中,我们常常需要对查询界面进行日期校验。例如有两个参数:开始日期和结束日期,我们要校验的是:开始日期与结束日期不能为空,结束日期必须在开始日期之后以及结束日期必须在开始日期后的某个时间段内,否则提示相关信息,对此可以在查询按钮中增加事件。下面我们通过FineReport来介绍下具体的设置。 具体效果图如下: 可以看出会报出如下错误。 模板的设计工作这边就不重点讲了,设定好如下的模板界面: 给查询按钮增加点击事件,具体的JS代码如下: Js代码 var start = this.options.form.getWidgetByName("starttime").getValue(); var end = this.options.form.getWidgetByName("endtime").getValue(); if( start == "" || start==null){ //判断开始日期是否为空 alert("错误,开始时间不能为空"); //开始日期参数为空时提示 return false; }; if(end == "" || end==null){ //判断结束日期是否为空 alert("错误,结束时间不能为空"); //结束日期参数为空时提示 return false; }; if( start > end){ //判断开始日期是否大于结束日期

报表性能优化方案之单数据集分页SQL实现层式报表

点点圈 提交于 2019-12-03 09:12:29
1、概述 我们知道,行式引擎按页取数只适用于Oracle,mysql,hsql和sqlserver2008及以上数据库,其他数据库,如access,sqlserver2005,sqlite等必须编写分页SQL。 下面以Access数据库为例介绍需要写分页SQL的数据库怎样利用行式的引擎实现层式报表。 解决方案提供工具:报表开发工具FineReport 2、解决思路 对于mysql这类可以直接使用行式的引擎实现层式报表的数据库来说,如果勾选了行式引擎,程序会自动生成分页sql,如,我新建了一个数据集ds1,来源于mysql数据库,基本sql语句为: SELECT * FROM 订单明细 如果不定义分页sql,勾选行式引擎选项,预览报表时,程序会将上面的sql语句转化为下面的语句来取一页的数据: SELECT COUNT(*)AS totalRowCount FROM (SELECT * FROM 订单明细) t 如果数据库是上面所说的access一类的无法直接生成分页sql的数据库,那么就需要编写分页SQL。 3、操作步骤 以FRDemo内置的sqlite为例,说明sqlite如何写分页查询。 注:sqlserver2005和sqlite操作步骤一样。 3.1新建数据集 新建数据集ds1:SELECT * FROM 订单明细。 3.2添加分页查询SQL语句

Fastreport.Net用户手册:表达式显示

血红的双手。 提交于 2019-12-03 07:59:03
"Text"对象能够包含带有表达式的纯文本。例如: Today is [Date] 当在打印这样的对象时,所有包含在文本中的表达式都会被计算出来。所以结果会是这样: Today is 12.09.2010 你可以看到,表达式通过方括号被识别。这是在包含字符串 "[,]"的"Brackets"属性中设置的。在需要时,你可以为其设置不同的符号,例如 "<,>"或者"<!,!>"。如果设置为"<!,!>",将会有如下显示: Today is <!Date!> 除此之外,禁用所有表达式也是可以的。你只需设置 AllowExpressions属性为false。在此种设置下文本将不会被识别为表达式。 在方括号内,你可以使用任何有效的表达式。例如,一个含有如下文本的对象: 2 * 2 = [2 * 2] 将会被打印成如下效果: 2 * 2 = 4 常犯的错误 — 尝试在方括号外编写一个表达式。例如: 2 * 2 = [2] * [2] 此文本将会打印出如下效果: 2 * 2 = 2 * 2 有一些在表达式中的元素需要其自己的方括号。例如,一个到系统变量的引用。让我们来看看下面这个例子: The next page: [[Page] + 1] 此文本包含表达式[Page] + 1。Page是一个系统变量,表示当前报表页的数量。它被包含在自己的括号里。这些括号必须为方括号,此处无关"Text

报表性能优化方案之多种报表服务器内存修改方法

↘锁芯ラ 提交于 2019-12-03 01:11:17
服务器内存修改 各应用服务器的内存配置方法不尽相同,如下列出了常用服务器的JVM参数(-Xms,-Xmx)配置方法。 JVM参数定义: - Xms: 初始化内存大小 - Xmx: 可以使用的最大内存 示例工具 以下示例工具:报表开发工具FineReport Tomcat 服务器内存修改 1. 问题描述 java应用程序运行过程中会使用web应用服务器的内存,如执行报表获取的数据,运算的中间数据等都需要暂存在服务器内存中。 当没有空内存可用时,就会出现内存溢出错误: java.lang.OutOfMemoryError:Java heap space 。 2. 解决方案 为了避免内存溢出的问题,我们一方面应适当启用磁盘缓存,另一方面可以根据实际情况调整服务器内存大小。 下面说明如何调整服务器内存大小。 · 解压版通过 start.bat 启动 tomcat 在windows系统中,找到 %Tomcat_Home%/bin/catalina.bat ,对这个文件进行编辑。 找到这样一行代码: 1. rem ----- Execute The Requested Command --------------------------------------- 在其下添加 1. set JAVA_OPTS= -Xms256M -Xmx512M ms代表初始时内存大小,mx代表最大

根据条件控制参数控件是否显示(可用)

安稳与你 提交于 2019-12-02 06:42:43
1、应用场景 在用报表工具FineReport设计报表时,使用参数控件时,有时我们希望部分参数控件在没满足条件时不显示,满足条件后再显示,如下图效果:只有前面的下拉框选择了内容之后,后一层下拉框控件才显示出来: 2、解决方案 首先将被控制的控件初始化为不可见或者不可用,然后在条件控件上增加编辑结束事件,通过js脚本设置被控制控件可见或可用,对应的js方法如下: setEnable(boolean):设置是否可用,true为可用,false为不可用; setVisible(boolean):设置是否可见,true为可见,false为不可见; 3、示例 打开模板%FR_HOME%\WebReport\WEB-INF\reportlets\doc\parameter\\MultiValue\MutiValue.cpt 我们用这个模板中的area作为条件控件,province作为被控控件来说明设置过程。 3.1初始化被控控件为不可见 点击province控件,选择属性表>基本属性将可见勾选掉,如下图: 3.2条件控件的事件设置 给area控件添加编辑后事件,调用JS方法将province控件设定为可见,具体的代码如下: 选择参数area的下拉框控件,选择属性表的事件面板,增加一个编辑后事件,如下图: 其中代码为: 1. var province=this.options.form

Web报表工具FineReport的JS API开发(一)

血红的双手。 提交于 2019-12-02 06:42:22
很多报表软件可以利用 JS 接口来实现更多更复杂的功能。以 FineReport 为例,开放了大量的 JS API 给用户,根据执行 JS 的主体不同可以将分为三大类: FR 、 FS 和 contentWindow 。 在 js 语句中执行可以使用 FR 的方法或者属性,比如说 FR.Msg.alert , FR 中的方法比如引入 finereport.js 。 FS 的方法可以用于数据决策系统中的 js 接口,比如说 FS.tabPane.addItem 。而 contentWindow 是在 web 页面集成的时候,将 F 报表嵌入在 iframe 中,调用报表对象时使用的接口,比如说: document.getElementById('reportFrame').contentWindow ,其中 document.getElementById('reportFrame') 是获取 iframe 对象, contentWindow 是报表对象,相当于 html 中的 window 对象。 由于篇幅,这里先介绍 FR FR 大家知道,预览报表时,报表 servlet 会将 cpt 模板转为 html ,在这个 html 的 head 头部中会引入 FR 的 js ,如下: Js代码 <script type="text/javascript" src="/WebReport

Fastreport.Net用户手册:报表对象

こ雲淡風輕ζ 提交于 2019-12-01 23:41:58
在一个报表中可以使用大量的对象,本次教程我们将对各报表对象进行介绍: 图标 名称 描述 "Text" (TextObject) 显示一个或多个文本行 "Picture" (PictureObject) 显示一张图片 "Line" (LineObject) 显示垂直,水平及对角的行 "Shape" (ShapeObject) 显示长方形,椭圆形和三角形等几何图形 "Rich Text" (RichObject) 显示格式化文本(RTF 格式) "Barcode" (BarcodeObject) 显示一个条形码 "CheckBox" (CheckBoxObject) 显示有两个选项的复选框- "Enabled" 与 "Disabled" "Table" (TableObject) 显示一个含有行,列和单元格的表格 "Matrix" (MatrixObject) 显示一个矩阵("Cross-tab") "Chart" (MSChartObject) 显示一个图表 "Zip Code" (ZipCodeObject) 显示一段zip代码 "Cellular Text" (CellularTextObject) 显示在每个单元格中文本的特性 报表对象可以显示信息 ("Text" object) 或者改进报表外观 ("Picture", "Line", "Shape" objects)。像

Fastreport.Net用户手册:管理报表页

ⅰ亾dé卋堺 提交于 2019-12-01 23:41:44
当你创建好了一个新报表后,它就已经包含了带有一些数据项的一个报表页。如果要添加一个新报表页,点击 按钮。通过点击 按钮然后在窗口中选择"New Report Page" 也能够添加新的报表页。 按照同样的方式,对话形式也能够被添加到报表中。为此,使用 按钮。模板页在设计器作为选项卡出现: 第一个选项卡为报表的代码。此选项卡既不能被移动也不能被删除。 要转换到需要的报表页,仅需点击其对应的选项卡。改变报表页的顺序用鼠标就能完成。为此,点击选项卡不放就可以将其拖动到你想要的地方。 如果想删除某个报表页,可以点击 按钮。此按钮在报表只有一个报表页时不可用。 相关链接: fastreport中文网 fastrepot.net最新试用版下载 来源: oschina 链接: https://my.oschina.net/u/2690029/blog/737148