摘要:1. 概述1.1 问题描述FineReport 中自带有 EAN 型编码,但却没有 UPC 条形码,此时若您希望在报表中使用 UPC 编码的条形码应该怎么办呢?FineReport 可以通过自定义函数引[阅读全文:]
摘要:1. 概述1.1 应用场景电脑某个目录下保存了几个 XML 文件,希望把 XML 文件转换为报表数据源。如下图所示,将 Northwind.xml 中的数据转换为报表数据源。Northwind.xml[阅读全文:]
摘要:1. 概述1.1 应用场景我们定义的程序网络报表也可以包含参数,当用 Web 浏览器访问网络报表时,如何给它传递默认参数值呢?可以通过 URL 给网络报表传参,在访问网络报表的路径后跟上参数值,如htt[阅读全文:]
摘要:doURLPrint(config),调出打印工具,打印报表,使用 get 传参,config 参数为一个 object 对象。格式如:注:不支持移动端。config:{printUrl :&[阅读全文:]
摘要:版本版本功能变动11.0和 10.0 区别:无变动,10.0 也支持注1:以下接口只能在在控件的「事件」中使用。注2:以下接口不支持在 FVS 大屏模板中使用。this方法this在控件的事件中使用,获[阅读全文:]
摘要:1. 概述1.1 预期效果报表中添加超链接,点击超链接弹出一个对话框,对话框大小固定,没有最大化功能。那如何实现最大化功能呢,如双击对话框标题栏,对话框实现最大化;最大化情况下,双击标题栏返回默认大小。[阅读全文:]
摘要:1. 概述Finereport 中控件的「事件」功能非常强大,用户可通过自定义 JS 做出想要的效果。但是 JS 对于大多数非专业报表开发者较为陌生,需要额外的学习成本,尤其是 jQuery 选择器。而[阅读全文:]
摘要:1. 概述1.1 问题描述当一张报表中内容太多,想根据预览的设备不同显示不同的内容,该怎么实现?如下图所示,模板在移动端和 PC 端预览时,展示内容不同。1.2 实现思路1)通过 JS 来判断当前是浏览[阅读全文:]
摘要:1. 概述1.1 问题描述决策报表中添加参数面板后,一般情况是点击「查询」按钮,才会展现报表主体内容。那么如何实现不点击「查询」按钮,参数控件选择值之后即可将报表结果展现出来呢?如下图所示:1.2 实现[阅读全文:]
摘要:1. 概述1.1 预期效果普通报表分页预览时,如果需要实现在工具栏点击某个按钮直接控制对参数栏的显示与隐藏,该如何实现?如下图所示:1.2 实现思路利用分页预览设置中,增加自定义按钮的“自定义事件”来控[阅读全文:]
摘要:1. 概述WebAPI 是网络应用程序接口,包含了广泛的功能。网络应用通过 API 接口,可以实现存储服务、消息服务、计算服务等能力,利用这些能力可以开发出强大功能的 Web 应用。比如通过 WebAP[阅读全文:]
摘要:1. 概述单元格显示内容的时候,需要数字展示成不一样的颜色,如果是固定的文本可以使用 HTML 显示单元格内容,给固定的部分加上改变字体颜色的 HTML 标签。如果单元格的数据或者文本不固定的话就不好处[阅读全文:]
摘要:版本版本功能变动11.0和 10.0 区别:新增 setCellRadius 接口setCellRadius方法setCellRadius(radius)给报表所有单元格设置圆角,单元格必须有[阅读全文:]
摘要:1. 概述前端预览报表时,模板会被转为 HTML,这个 HTML 的 head 标签中会引入 FineReport 内置的 JavaScript 文件finereport.js,代码如下:&l[阅读全文:]
摘要:1. 概述1.1 问题描述在使用决策报表的 Tab 块功能时,我们经常会遇到类似这样的问题:当在一个 Tab 块中有多个 Tab 页存在,如果用户所处其他&nbs[阅读全文:]
摘要:1. 概述1.1 预期效果预览报表时,希望预览一段时间后退出当前预览页面,自动跳转到指定页面,如下图所示。注:此方案只是控制报表最长预览时间,超时自动跳转,若要实现平台中用户登录超时退出可参考:登录超时[阅读全文:]
摘要:1. 概述1.1 预期效果有时报表页面显示内容较多时,为了能突出提示某些内容,我们需要一些特殊效果,比如需要实现浏览器标题栏动态滚动效果。如下图所示:1.2 实现思路利用 JS 中 document.t[阅读全文:]
摘要:1. 概述1.1 预期效果实现文字 2.5D 动态轮播效果,如下图所示:1.2 实现思路报表中引用外部 JS 和 CSS 文件,利用公式函数解析,实现轮播效果。2. 示例2.1 添加函数1)将压缩包&n[阅读全文:]
摘要:1.概述1.1 问题描述当我们报表有多页时,在展示时想使用键盘的上下键、左右键或空格键实现对报表的操作,如上下键实现翻页,该如何实现呢?1.2 实现思路通过 JS 获取按下按键的键值,根据键值对报表进行[阅读全文:]
摘要:1. 概述1.1 预期效果FineReport 的「对话框」样式固定,报表设计中,为了使「对话框」与整体风格保持一致,会对「对话框」样式做一些修改,如将弹出的「对话框」设置为透明样式,类似于HTML中的[阅读全文:]
摘要:1. 概述1.1 应用场景在使用 WebService 作为项目的数据源时,希望报表中可以直接调用 WebService 数据源,而不是定义数据连接调用对应的数据库表,这样要怎么实现呢?1.2 实现原理[阅读全文:]
摘要:1. 概述1.1 预期效果制作大屏模板时,给报表或者报表中的某一部分添加动态背景或动态边框。如下图所示:1.2 实现思路1)通过添加「初始化后」事件或「加载结束」事件,使用 JS 调用 GIF 格式的图[阅读全文:]
摘要:版本版本功能变动11.0和 10.0 区别:新增 setRowHeight、setColWidth 接口setRowHeight方法setRowHeight(row,height)改变单元格行[阅读全文:]
摘要:1. 概述1.1 预期效果在决策报表中,希望 Tab 块轮播切换时,可实现与报表块的数据联动。如下图所示:1.2 实现思路通过 JS 获取每个 Tab 块的轮播标题,转换为参数值,再通过控件进行界面传参[阅读全文:]
摘要:1. 概述1.1 问题描述执行自定义函数时获取到公式所在的单元格,在日志信息中输出使用函数的单元格从而监控报表是否正常执行或者根据公式所在单元格位置的不同采取不同的计算方法。如何在自定义函数中获取公式所[阅读全文:]
摘要:1. 概述用户通过 Java 类代码进行Finereport 二次开发,实现某些功能时,通常需要编译 Java文件,生成 Class 类,如在程序数据源、程序报表、自定义函数、自定义后台导出、[阅读全文:]
摘要:1. 概述1.1 预期效果在处理单元格报表时,难免会出现很多单元格之间的计算,我们通常可以使用 DATESUBDATE 函数 来进行计算两个日期的时间差。不过有的时候有特殊情况需要精[阅读全文:]
摘要:1. 概述注:了解 FineReport 日志存储位置可查看 日志简介 在编写程序时,为了便于调试,往往需要向后台输出一些信息来判断程序是否运行正确,或者当用户执行某个操作时,希望服[阅读全文:]
摘要:1. 概述1.1 预期效果在设计报表的过程中,有部分需求需要使用填报控件来实现查询的功能。如下图所示,下拉框选择地区后列表自动过滤显示所选地区的数据。1.2 实现方法在参数界面添加「下拉框控件」并隐藏,[阅读全文:]
摘要:版本版本功能变动11.0和 10.0 区别:新增 getToolbar 接口注:除以下接口,公共模板>表格接口,决策报表中报表块也可使用。getToolbar方法getToolbar(i[阅读全文:]
摘要:版本版本功能变动11.0和 10.0 区别:无变动,10.0 也支持注:本页接口适用于 body 中的绝对画布块、报表块、Tab块、图表块、控件。invisible方法invisible()设置组件不可[阅读全文:]
摘要:版本版本功能变动11.0和 10.0 区别:新增接口 getAllWidgets,覆盖 10.0 name_widgets 的功能getAllWidgets方法getAllWidge[阅读全文:]
摘要:版本版本功能变动11.0和 10.0 区别:新增 getToolbar 接口注:以下工具栏接口在普通报表中使用时,要求报表中只有一个工具栏,即顶部工具栏或底部工具栏只存在一个。getToolb[阅读全文:]
摘要:1. 概述1.1 问题描述日期控件格式为 yyyy-MM ,点击日期控件选择日期后会立即传递参数,取消按钮无法真正取消所选择的日期,如下图所示:1.2 解决思路增加一个日期[阅读全文:]
摘要:1. 概述1.1 应用场景在一些特定场合下当参数过多时用户进行参数组合筛选需要不断自行调整控件值,会使参数筛选过滤变得很麻烦。因此有的用户想要实现参数筛选后自动保存参数组合,然后通过点击按钮实现参数组合[阅读全文:]
摘要:1. 概述1.1 应用场景一张报表可以根据不同的条件统计出不同的数据结果,若您希望将每一种条件下的结果都保存下来如导出成 Excel 文件至磁盘,您可以在后台调用 FineReport 的导出接口 Ex[阅读全文:]
摘要:1. 概述1.1 应用场景有时候需要批量生成 cpt 模板,手动操作比较繁琐;可以借助 FineReport 的 API 接口通过 Java 代码批量生成 cpt 模板。1.2 实现思路创建一个&nbs[阅读全文:]
摘要:1. 概述1.1 应用场景在导出章节中我们介绍了 Excel 导出方式 ExcelExporter,此为原样导出。在 FineReport 中,导出 Excel 还有分页导出、分页分 sheet 导出、[阅读全文:]
摘要:1. 概述1.1 应用场景在报表统计分析中,常常希望将某类报表或者不同参数的同一报表汇总导出到一个 Excel 中,每张报表对应一个 sheet。如下图所示,地区销售量统计报表,导出后,将每个地区的数据[阅读全文:]
摘要:1. 描述应用场景:数据连接不需要直接访问数据库,而是使用 EJB 做为数据源。功能介绍:FR 通过定义程序数据集使用 EJB 的相关类获取到 EJB 数据源,然后转为我们里面的二维表作为报表数据源使用[阅读全文:]
摘要:1. 概述FineReport 设计器与服务器已经能够满足大部分的需求,但某些个性化需求可能无法实现,这时就需要通过二次开发的方式来实现这些需求。FineReport 开放了一些后台接口供应用开发人员进[阅读全文:]
摘要:1. 概述1.1 应用场景如果数据库表中某个字段所存的数据为 XML 格式。如下图所示:那么如何将存于 XML 字段中的值读取出来作为报表数据源使用呢。如下图所示:1.2 实现原理通过程序连接目标数据库[阅读全文:]
摘要:1. 概述在使用 WebService 作为您项目的数据源时,希望报表中也是直接调用这个 WebService 数据源,而不是定义数据连接调用对应的数据库表,这样要怎么实现呢?在程序中访问 WebSer[阅读全文:]
摘要:1. 概述1.1 应用场景一般制作的模板文件都放在硬盘中,如果硬盘损坏,就会导致文件丢失,后果会很严重。为了降低这个风险,我们可将模板文件全部保存在数据库中(二进制数据),这样若是硬盘损坏导致文件丢失,[阅读全文:]
摘要:1. 概述1.1 应用场景可以通过 java 程序读取一个模板,读取后在程序中修改报表的属性,然后重新导出成模板文件。如下图所示,读取模板文件Parameter.cpt,在程序中修改 A1 单元格的字体[阅读全文:]
摘要:1. 概述FineReport 设计器基本可以零编码地设计出报表,但设计器中的样式都是固定的,如果用户想要设计器不能实现的功能效果,就需要借助二次开发完成。用户可以将模板读取在Java编辑器中,对其进行[阅读全文:]
摘要:1. 概述1.1 应用场景上一节中示例如何创建报表,新增单元格。单元格是组成报表的最小元素,增加后就要对其进行格式设置,如列宽、行高、字体、前景色、背景色、显示位置、边框样式、边框颜色等等。如下图所示:[阅读全文:]
摘要:1. 概述1.1 应用场景由引擎 API 概述可以知道,报表分为两种情况:模板和结果没有执行过的工作薄或者报表都为模板,模板中包含数据集,数据列没有扩展且公式未计算;模板执行后就成了结果,结果中所有数据[阅读全文:]
摘要:1. 概述1.1 应用场景同样的模板样式,同样的数据源样式,希望通过网络报表连接不同数据库,使用同一个模板样式,在同一个网络报表里面显示结果,但数据来源不同。1.2 实现原理通过使用程序网络报[阅读全文:]
摘要:1. 概述1.1 问题描述在设计决策报表时,需要通过决策报表主体的按钮控件或者报表块的超链接获取参数面板的控件值,那么该如何实现呢?1.2 解决思路通过内置接口和 JS 事件获取参数面板的控件值:_g([阅读全文:]
摘要:1. 概述1.1 应用场景定义了单元格后,有时候我们需要对报表每个单元格进行处理,如何在程序中遍历单元格呢?1.2 实现原理FineReport 中通过 Report 的 cellIterat[阅读全文:]
摘要:1. 概述1.1 问题描述使用决策报表 Tab 块时,默认的 Tab 标题会根据字数自动扩展。若想实现统一宽度,除了「补空格使标题字数一致」的方法外,是否有其他方法实现 Tab 标题手动设置统一宽度呢?[阅读全文:]
摘要:1. 概述1.1 应用场景利用 FineReport 进行二次开发时,可以在 Java 编辑器,如 Eclipse、Idea 中通过调用 FineReport 启动类来启动设计器,以便于开发过[阅读全文:]
摘要:1. 概述JavaScript 中经常需要对日期型的数据进行操作,操作后给日期控件赋值。在对日期数据进行操作时,需要用 JavaScript 中的日期函数来处理日期对象。本文将介绍 JavaS[阅读全文:]
摘要:1. 概述有时报表设计时涉及到写 JavaScript 代码,利用 JavaScript 处理某些计算或转换时特别复杂,比如日期格式化、字符串截取替换等等,如利用原生 JavaScript 将当前日期显[阅读全文:]
摘要:1. 概述1.1 预期效果在实际工作中,需要实现多张报表自动轮播效果,但区别于 自动切换分页效果 及 图表手动切换。实际效果如下图所示:1.2 实现思路给报表添加「加载结束[阅读全文:]
摘要:1. 概述jQuery 是一个快速简洁的 JavaScript 库,使用户能方便地处理 HTML 实现交互效果。FineReport 报表前端采用 jQuery 框架,制作的报表解析后最终成为一个 HT[阅读全文:]
摘要:1. 概述FineReport 报表前端采用 jQuery 框架,jQuery 是一个快速简洁的 JavaScript 库,使用户能方便地处理 HTML 实现交互效果,因此用户可以使用 jQuery 框[阅读全文:]
摘要:1. 概述每个载入浏览器的 HTML 文档都会成为 Document 对象。 Document 对象使我们可以从脚本中对 HTML 页面中的所有元素进行访问。Document 对象是 Wind[阅读全文:]
摘要:1. 概述1.1 问题描述在实际项目中,使用决策报表的时候,有时会用到在决策报表参数面板获取报表控件的值,那么该如何实现呢?1.2 实现思路使用 JS 获取报表主体的控件值:_g().getWidget[阅读全文:]
摘要:1. 概述1.1 问题描述当报表嵌入在某个页面 iframe 框架中时,如何在获取主页面里定义的方法、如何获取主页面另外的内嵌 iframe 中的报表呢?即:1)报表嵌入在某个页面的 iframe 框架[阅读全文:]
摘要:1. 概述1.1 问题描述FineReport 作为一款多语种,跨平台的报表设计器,经常会有客户需要使用多个语言环境来配置报表。那么,如何通过判定操作系统语言环境来自动跳转到对应语种的页面呢?这是多语种[阅读全文:]
摘要:1. 概述1.1 预期效果在对于关键指标实时性要求较高的报表中,需要及时掌握某些关键指标的。当某些关键指标值发生较大变化时,需要第一时间给予用户提醒,声音警报提示就是常用的一种。那么如何为报表添加声音提[阅读全文:]
摘要:1. 概述1.1 问题描述制作调查问卷类的填报模板时,可能会需要限制复选框组选中的个数,如限制复选框的个数为 2 个,若超过 2 个就则将所有选中的值清空或者清空超出的部分,如下图所示:1.2 实现思路[阅读全文:]
摘要:1. 概述1.1 问题描述日期控件放置在决策报表的 body 中时,只要更改日期控件的值就会直接触发参数传递,而并非是点击日期控件上的「确定」按钮后才触发。如下图所示:1.2 实现思路增加一个日期控件做[阅读全文:]
摘要:1. 概述1.1 问题描述对于多 Tab 的决策报表,如何实现固定时间间隔内自动循环跳转?1.2 解决思路方法一:Tab 布局 中tabpane 中有 Tab 轮播功能,详细可查看 Tab 布[阅读全文:]
摘要:1. 概述控件事件,即添加在控件上的事件,添加后当对控件做相应动作时触发。如下图所示,给「按钮控件」添加了一个「点击」事件,事件内容为隐藏参数面板上的「下拉框」控件。预览报表时点击按钮即可隐藏[阅读全文:]
摘要:1. 概述1.1 问题描述在浏览器上大家都习惯于 F11 让报表达到全屏效果,但是对于有些仅用于展示的电脑而言,有时候是不配备键盘,稍做调整只能用鼠标来实现。效果如下图所示,鼠标点击决策报表主体,报表全[阅读全文:]
摘要:1. 概述FR 报表使用 jQuery 框架,因此可以在模板中使用 jQuery 的 each 函数来遍历整个对象集合,对集合中每个对象进行统一处理。2. 使用说明使用 $[阅读全文:]
摘要:1. 概述1.1 问题描述报表开发中,很多情况下需要将报表主体或工具栏设置为不可用,即置灰且不能点击;或初始化设置为不可用,点击某个按钮恢复可用。报表置灰显示如下图所示,那如何实现此效果呢?1.2 实现[阅读全文:]
摘要:1. 概述报表中很多个性化功能的实现,大多是使用 JavaScript 来实现的,那么我们如何能零基础写 JavaScript 来实现功能呢?我们可以通过浏览器中的「审查元素」,获取到报表中每个元素对应[阅读全文:]
摘要:1. 概述1.1 预期效果有时需要判断当前登录的环境是手机端还是电脑端,如下图所示: 1.2 实现思路可以通过 JavaScript 来实现判断当前的设备类型:navigator[阅读全文:]
摘要:1. 概述JavaScript 中,我们有时需要对数组进行操作,比如创建数组,遍历数组元素,排序等等。本文将介绍一些数组的基本使用方法。2. 示例2.1 创建数组Array 对象用于在单个变量中存储多个[阅读全文:]
摘要:1. 概述1.1 预期效果报表开发中,为提升报表美观度,可以使用 JS 实现报表背景色的动态切换。如下图所示:1.2 实现思路报表设计时,在参数面板添加按钮控件, 给按钮添加 JS 点击事件实现报表背景[阅读全文:]
摘要:1. 概述JavaScript 中会需要对字符串进行操作,比如如何判断字符串是否为空,计算字符串的长度,替换、查找、截取字符串,或者将字符串转换为其他类型等操作。文本将介绍 JavaScript 中如何[阅读全文:]
摘要:1. 概述1.1 预期效果在平时的报表开发中,我们通常会遇到要获取当前打开报表页面的URL网址相关信息,虽然目前 FineReport 内置的 系统参数 能满足一定的需求,但有一些需[阅读全文:]
摘要:1. 概述1.1 问题描述在实际项目中,有时需要获取所有单元格的值,如下图所示:1.2 实现思路按钮控件添加点击事件,用 JavaScript 循环语句实现。2. 示例2.1 准备数据新建普通报表,新建[阅读全文:]
摘要:1. 概述1.1 问题描述在开发决策报表时经常会使用深色背景,这时插入一个控件显得与背景格格不入,如下图所示:希望通过设置控件的透明度,使控件融入背景,如下图所示:1.2 实现思路控件添加初始化事件,使[阅读全文:]
摘要:1. 描述场景描述:FineReport 已经提供了大量的自带函数,在正常情况下足够满足用户的报表制作需求,但是在一些特殊领域,可能需要一些特殊的函数,在这种情况下,FineReport 提[阅读全文:]
摘要:1. 概述一个图表字段跟一个普通字段希望有层次的显示在一个单元格中。如 A 单元格中为文字内容,B单元格中为背景图片,C 单元格中要显示文字内容加背景图片,即下层图片为背景、上层显示文字内容。如下图所示[阅读全文:]
摘要:1. 描述场景描述:内部收益率 IRR 这个公式在可行性评估分析类的财务报表中频繁的被使用,FR 中默认没有这个公式,而这个值的计算又不是纯数学计算,需要靠猜测和差值最终得到一个理想的结果。下面就介绍如[阅读全文:]
摘要:1. 描述数据库保存的是阳历日期,在报表展示时希望把阳历转换成阴历,方便查询各种阴历节日的功能,如下图把阳历转换成阴历的效果。2. 解决方案首先定义一个可以将阳历转为阴历的类,然后自定义 Fi[阅读全文:]
摘要:1. 描述数据库中保存的是如下形式的编码:%u5357%u4EAC-%u57CE%u5317 希望最后展示出来的是对应的中文“南京-城北”FineReport 提供了自定义函数机制,可以由用户根据业务需[阅读全文:]
摘要:1. 概述1.1 应用场景SAP 系统中的数据会自动补位,例如物料编号 00000123456、客户编号 0000KH254D,在报表使用时需要将自动补位的 0 剔除,如下图所示:1.2 实现思路在服务[阅读全文:]
摘要:1. 概述1.1 问题描述决策平台中预览报表提供了全屏显示功能,但如果不通过决策平台预览,如何全屏预览单张报表呢?注:本文实现的是普通报表点击按钮全屏显示的实现方法,决策报表中点击按钮实现全屏的方法参见[阅读全文:]